У нас есть 2 таблицы Hive (версия Hive - 0,14)
Обе соединены столбцом X
Таблица 1 перекошена в соединительном столбце X на одно конкретное значение («ABC»).В таблице 2 есть только одна запись для значения «ABC», а в таблице 2 - очень маленькая таблица по сравнению с таблицей 1
. Мы включили следующие параметры улья
hive.optimize.skewjoin=true;
hive.skewjoin.key=10000000;
hive.execution.engine = true;
hive.auto.convert.join = true;
hive.groupby.skewindata=true;
Для конкретного значения«ABC», мы получаем более 1 000 000 000 записей из Таблицы 1.
Объясните План запроса ясно показывает, что операция перекоса соединения на месте.
Но когда запрос выполняется, перекошенозначение все еще попадает в редуктор и подвергается операции общего присоединения.
Хотите узнать, что я здесь не так делаю?Любая помощь здесь будет очень признателен