Оптимизация запросов JOIN в Apache HIVE

В последних версиях Apache HIVE пытается внедрить CBO (cost based optimizer) и оптимизация операций JOIN одна из главных его составляющих. Поэтому понимание сценариев  оптимизации применения операций JOINs (объединений) является одним из ключевых факторов настройки производительности HiveQL. Рассмотрим каждый вид объединений на практических примерах и определим их различия: Shuffle Join (Common Join) – общее объединение или объединение в случайном порядке Этот вид объединений используется по умолчанию и включает map и reduce этапы для пофазного выполнения обьединения таблиц. Mapper: считывает таблицы и выводит пары ключ-значение соединения в промежуточный файл. Shuffle: пары ключ-значение сортируются и объединяются для передачи на соответствующий узел  где будет выполнятся фаза Reduce. Reducer: получает отсортированные данные и выполняет объединение (JOIN). Варианты использования: Работает для таблиц любого размера, особенно, когда … Читать далее Оптимизация запросов JOIN в Apache HIVE