Выталкивание в Polybase

У меня следующий сценарий. Таблица размеров, например. 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), но если кто-то пробовал, дайте мне знать


person Uli Bethke    schedule 10.08.2017    source источник


Ответы (1)


PolyBase никогда не перемещает данные с SQL Server независимо от объема данных. В зависимости от статистики PolyBase может:

A) Потоковую передачу таблицы order_item обратно на SQL Server, вычисление соединения и агрегирование данных.

B) Отправьте группу частичной агрегации Sum(Order_Item.Amount) с помощью OI.ProductiD, передайте набор результатов в SQL Server, затем выполните соединение и окончательную агрегацию в SQL Server.

person ckarst    schedule 02.11.2017