分享

【解决】关于Hive的Reduce数量的问题

lixiaoliang7 发表于 2014-12-24 15:00:50 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 19681
本帖最后由 lixiaoliang7 于 2014-12-24 15:13 编辑

大家好:
我有一个原始表,有一个拆分表, 每天定时将"原始表"的增量数据拆分进入到"拆分表"中,请问,我是否可以只用MAPPER而不用Reduce?
我试着设置了set mapreduce.job.reduces=0,但是执行后还是会生成reduce。

总之,如何不生成reduce而只map呢? 我的逻辑很简单的,最终原始表多少条数据拆分表就有多少条数据。
我的博客 http://www.cnblogs.com/hark0623

已有(5)人评论

跳转到指定楼层
desehawk 发表于 2014-12-24 18:56:31
1. hive.exec.reducers.bytes.per.reducer(默认为1000^3)

2. hive.exec.reducers.max(默认为999)





楼主,尝试把上面两个参数都设置为0



计算reducer数的公式:

N=min(参数2,总输入数据量/参数1)

回复

使用道具 举报

bioger_hit 发表于 2014-12-24 19:00:17
mapred.reduce.tasks:每个作业的reduce任务数,默认是hadoop client的配置1个;

这个参数也设置下

更多参数参考
Hive配置文件中配置项的含义详解(收藏版)
回复

使用道具 举报

lixiaoliang7 发表于 2014-12-24 19:12:49
多谢两位版主,确实reduce变为0了。
现在的问题在于变为0了后,SQL语句就报错了。
这个我需要再去了解一下HIVE。。。。然后再想想怎么去优化。
回复

使用道具 举报

ainubis 发表于 2015-3-28 15:58:50
飘过,学习学习!
回复

使用道具 举报

awenkidz 发表于 2015-4-16 08:11:12
有意思的话题
回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条