首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置减速器的数目不起作用

设置减速器的数目不起作用
EN

Stack Overflow用户
提问于 2015-01-06 03:08:15
回答 1查看 560关注 0票数 1

我使用-io类型字节和设置mapred.reduce.tasks=2的Hadoop流,但最后只有一个输出文件。如果我设置了mapred.reduce.tasks=0,那么我得到了许多输出文件。我很困惑。

因此,我的问题是:如何使mapred.reduce.tasks = num (num >1)配置在流中使用-io类型字节时有效?

PS:我的映射器的输出是(键: python字符串,value:numpy数组)。我的.sh文件:

hadoop $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.2.1.jar \ -D mapred.reduce.tasks=2 \ -fs局部\ -jt局部\ -io类型字节\ -inputformat、FFT_SequenceFile \ -input FFT_SequenceFile\ -output pinvoutput \ -mapper ' pinvmap.py‘\ -file pinvmap.py\

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-06 15:31:25

代码语言:javascript
复制
-D mapred.reduce.tasks=2 \ -fs local \ -jt local

通过检查-fs-jt的值,我知道您正在local模式下运行它。

local模式下,无论是零还是一个减速器都可以运行在最多的上。

因为它使用本地文件系统和一个JVM,所以在这种模式下没有Hadoop守护进程。

psuedo distributed模式中,所有守护进程都运行在同一台机器上,属性-D mapred.reduce.tasks=n将工作并导致n减缩器。

因此,您应该使用psuedo distributed模式来处理多个减速器。

希望能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27791510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档