在 Polybase 中下推

Pushdown in Polybase

我有以下场景。维度 table,例如PRODUCT 已加载到 SQL Server 2016。事实 table,例如ORDER_ITEM 已加载到 Hadoop 中。我想 运行 跨 PRODUCT 和 ORDER_ITEM 的聚合查询,例如

SELECT
 PRODUCT.PRODUCT_CATEGORY,
 SUM(ORDER_ITEM.AMOUNT)
FROM
 HADOOP.ORDER_ITEM OI
 JOIN RDBMS.PRODUCT P ON (OI.PRODUCT_ID = P.PRODUCT_ID)
GROUP BY
  PRODUCT.PRODUCT_CATEGORY

行为是什么。 (1) Polybase 是否将 PRODUCT 维度广播到 Hadoop 中进行连接和聚合并 returns 结果 (2) Polybase 是否将 ORDER_ITEM table 广播到 SQL 服务器并在那里执行连接和聚合?

可能是 (2),但如果有人试过请告诉我

PolyBase 从不从 SQL 服务器移动数据,无论数据量如何。根据统计数据,PolyBase 会:

A) 将 order_item table 流回 SQL 服务器并计算连接和聚合数据。

B) 按 OI.ProductiD 下推部分聚合 Sum(Order_Item.Amount) ,将结果集流式传输到 SQL 服务器,然后在 [= 内进行连接和最终聚合19=]服务器。