首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变mapred.reduce.tasks

改变mapred.reduce.tasks
EN

Stack Overflow用户
提问于 2015-09-20 22:29:00
回答 2查看 660关注 0票数 0

我应该在哪个文件中设置减速器的数量并设置mapred.reduce.tasks参数?

我的conf文件夹中只有以下文件,其中没有一个文件具有此参数:

代码语言:javascript
复制
ubuntu@group-3-vm1:~/conf$ ls
capacity-scheduler.xml  hdfs-site.xml  mapred-site.xml  yarn-site.xml
core-site.xml           hive-site.xml  tez-site.xml
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-21 07:21:48

所有Hadoop配置属性都被隔离到以下组中。

Hadoop-1.X.X:

  1. core - core-site.xml
  2. hdfs - hdfs-site.xml
  3. mapred - mapred-site.xml

Hadoop-2.X.X

  1. core - core-site.xml
  2. hdfs - hdfs-site.xml
  3. mapreduce - mapred-site.xml
  4. 纱-纱线-site.xml

所以你想改变减速器的数量,也就是mapred.reduce.tasks。您必须将此参数保存在'mapred-site.xml'文件中。

票数 1
EN

Stack Overflow用户

发布于 2015-09-21 04:05:56

更新:

可以将mapred.reduce.tasks指定到mapred-site.xml中。这将为所有将在hadoop安装程序上运行的作业设置配置。在我看来,这不是个好主意。

理想情况下,减速器的数量是根据工作要求设定的。您可以使用下面提供的选项来执行此操作。

在运行/启动hadoop作业时,可以通过命令行设置作业的Reducer数。

代码语言:javascript
复制
hadoop jar <main_jar.jar> Main_class -D mapred.reduce.tasks=<number_of_reducers>

另一种方法是,在您的Driver类中进入Job配置。

代码语言:javascript
复制
job.setNumReduceTasks(number_of_reducers);

不需要在任何配置文件中设置属性(mapred.reduce.tasks)。默认值为1。

如果您正在使用hadoop 2 mapreduce.job.reduces,最好使用mapreduce.job.reduces而不是mapred.reduce.tasks.。

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

https://stackoverflow.com/questions/32684973

复制
相关文章

相似问题

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