在 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=]服务器。
我有以下场景。维度 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=]服务器。