分享

为何set mapred.reduce.tasks=5没生效?

awenkidz 发表于 2015-4-10 09:27:30 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 73663
我在hive中执行了set mapred.reduce.tasks=5;
然后执行了一条HQL语句,但是我发现reduce数仍旧是1,这是为何?(在hive-site.xml中没有对该参数定义。)
另外,请教在hive cli中set和hive-site.xml中设置变量,哪个优先级高?
谢谢。

已有(3)人评论

跳转到指定楼层
langke93 发表于 2015-4-10 11:03:51
1.    调整reduce个数方法一:
调整hive.exec.reducers.bytes.per.reducer参数的值;
set hive.exec.reducers.bytes.per.reducer=500000000; (500M)
select pt,count(1) from popt_tbaccountcopy_mes where pt = '2012-07-04' group by pt; 这次有20个reduce
         
2.    调整reduce个数方法二;
set mapred.reduce.tasks = 15;
select pt,count(1) from popt_tbaccountcopy_mes where pt = '2012-07-04' group by pt;这次有15个reduce
如果没有生效,尝试另外一种方法,或则重启下集群试试。

在cli中的优先级更高一些
回复

使用道具 举报

langke93 发表于 2015-4-10 11:04:44
回复

使用道具 举报

awenkidz 发表于 2015-4-10 13:06:06
langke93 发表于 2015-4-10 11:03
1.    调整reduce个数方法一:
调整hive.exec.reducers.bytes.per.reducer参数的值;
set hive.exec.red ...

感谢您的耐心解答。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条