Как бэкетинг помогает при наличии более двух таблиц, если вообще помогает (Hive Sort Merge Bucket Join) - PullRequest
0 голосов
/ 17 июня 2019

Нам известно, как объединение карт и SMBM работает, сокращая время выполнения (исключая этап сокращения, т. Е. Устраняя случайное перемешивание).

Пример: для объединения двух таблиц выберите a.col1, b.col2 изобъединить b в a.col1 = b.col1 (обе таблицы объединены в столбец col1 в одно и то же количество блоков)

Но при объединении с 3 или более таблицами

Пример: выберите a.col1, b.col3, c.col2, d.date от объединения b на объединении a.id = b.id c на объединении a.state = b.state d на c.date = d.date

Сценарий, подобный этому, в том, как поможет группирование, если мы не хотим разбивать запрос на несколько меньших запросов.

...