0

我有以下情况。维度表(例如 PRODUCT)被加载到 SQL Server 2016 中。事实表(例如 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 中执行连接和聚合并返回结果 (2) Polybase 是否将 ORDER_ITEM 表广播到 SQL Server 并在那里执行连接和聚合?

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

4

1 回答 1

1

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

A) 将 order_item 表流回 SQL Server 并计算连接和聚合数据。

B) 通过 OI.ProductiD 下推一个部分聚合 Sum(Order_Item.Amount) 组,将结果集流式传输到 SQL Server,然后在 SQL Server 中进行连接和最终聚合。

于 2017-11-02T17:44:38.937 回答