Возможно ли в улье теоретически возможно совместное соединение (a-la-netezza)? - PullRequest
2 голосов
/ 05 августа 2011

Когда вы объединяете таблицы, которые распределены по одному и тому же ключу и используете эти ключевые столбцы в условии соединения, тогда каждый SPU (машина) в netezza работает на 100% независимо от других (см. nz-интервью ).

В улье есть объединение карт с тегами , но за распространение файлов, представляющих таблицы для датодела, отвечает HDFS, это не сделано в соответствии с ключом куста CLUSTERED BY!

Итак, предположим, у меня есть 2 таблицы, КЛАСТЕРНЫЕ одним и тем же ключом, и я присоединяюсь этим ключом - может ли Hive получить гарантию от HDFS, что соответствующие сегменты будут находиться на одном и том же узле? или он всегда должен будет перемещать соответствующее ведро маленького стола в датододу, содержащее большое ведро стола?

Спасибо, идо

(примечание: это более точная формулировка моего предыдущего вопроса: Как hive / hadoop гарантирует, что каждый картограф работает с локальными для него данными? )

1 Ответ

0 голосов
/ 05 августа 2011

Я думаю, что HDFS невозможно сказать, где хранить блоки данных.
Я могу рассмотреть следующую хитрость, которая подойдет для небольших кластеров - увеличить коэффициент репликации для одной из таблиц до числа, близкого или равного числу узлов в кластере.
В результате - в процессе соединения соответствующие данные будут почти всегда (или всегда) присутствовать на требуемом узле.

...