Единственный способ сделать это в настоящее время - разделить ваш скрипт Hive на несколько частей, где тяжелые объединения будут помещены в другой скрипт. Затем для тяжелых соединений можно указать большое количество редукторов. Чтобы выполнить все эти сценарии за один раз, вы можете использовать опцию hive -f
со всеми сценариями, перечисленными в сценарии оболочки, как показано ниже:
#example of shell script RunMyHQL.sh
$HIVE_HOME/bin/hive -f /somepath/script1.hql
$HIVE_HOME/bin/hive -f /somepath/script2.hql
$HIVE_HOME/bin/hive -f /somepath/script3.hql
Затем назначьте соответствующие права на файл RunMyHQL.sh
chmod u+x /somepath/RunMyHQL.sh
Затем выполните скрипт оболочки
./RunMyHQL.sh
Каждый из script1, script2 и script3 может содержать желаемое количество картографов и редукторов. Если это нужно запускать через определенные промежутки времени снова и снова, то я предлагаю вам реализовать рабочий процесс Oozie.