Hive联接减速器的组数



在Hive中执行联接操作时,我需要设置减速器的数量。我不想为我的每一份加入工作设置相同数量的减速器。我怎么能把它作为一个论点呢?提前谢谢。

在脚本文件的顶部,放置以下内容:

set mapred.reduce.tasks=128

目前唯一的方法是将一个Hive脚本拆分为多个部分,在这些部分中,重联接将放在不同的脚本中。然后,对于重型联接,可以指定大量的异径管。要一次性执行所有这些脚本,可以对shell脚本中列出的所有脚本使用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

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

相关内容

  • 没有找到相关文章

最新更新