Hive连接设置减少器的数量

时间:2012-02-13 18:44:30

标签: hadoop mapreduce hive

我需要在Hive中进行连接操作时设置reducer的数量。我不想为每个连接作业设置相同数量的reducer。我怎么能提到它作为一个论点?提前谢谢。

2 个答案:

答案 0 :(得分:14)

在脚本文件的顶部,输入:

set mapred.reduce.tasks=128

答案 1 :(得分:0)

目前执行此操作的唯一方法是将一个Hive脚本拆分为多个部分,其中重型连接将放在不同的脚本中。然后,对于重连接,您可以指定大量的减速器。要一次执行所有这些脚本,可以使用hive -f选项和shell脚本中列出的所有脚本,如下所示:      #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

然后执行shell脚本 ./RunMyHQL.sh script1,script2和script3中的每一个都可以包含所需数量的映射器和缩减器。如果需要反复运行特定的时间间隔,那么我建议您实施Oozie工作流程。