hadoop - hadoop流获取最佳插槽数量

标签 hadoop mapreduce hadoop-streaming

我有一个流式 map 缩减工作。我有大约30个插槽需要处理。最初,我得到一个包含60条记录的输入文件(各字段用制表符分隔),每个记录的第一个字段是一个数字,第一个记录编号(第一个字段)是1,第二个记录编号(第一个字段)是2,依此类推。我想从这些记录中创建30个文件,以进行下一步处理,每个文件包含2条记录(甚至分配)。

为此,我指定了减少作业的减少器数量为30。我希望第一个字段用作键,并且我将获得30个输出文件,每个文件包含2条记录。

我确实获得了30个输出文件,但并非所有文件都包含相同数量的记录。有些文件甚至是空的(零大小)。任何的想法

最佳答案

默认情况下,Hadoop混搭并将Map任务输出作为Reducer输入。因此Map输出集
具有相同键值的键映射到相同的reducer.so这样,某些reducer可能没有输入集,因此part-00005文件的大小为0 KB。

关于hadoop - hadoop流获取最佳插槽数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10750694/

相关文章:

mongodb map reduce 用于搜索条件

hadoop - 当我在 Hadoop 上运行我自己的代码时出现 ClassNotFoundException

c - 使用 C 的 Hadoop 流式处理

python - hadoop streaming - 如何使用python内部连接两个差异文件

hadoop - 如何在映射器输出中收集三个参数。有什么办法

hadoop - hadoop 和 mahout 中正确的数据流应该是什么?

javascript - 在 WEBHDFS REST Api 中启用跨域访问以供 JavaScript 使用?

hadoop - 将输入分成几个映射

javascript - MongoDB MapReduce,仅当 count > 1 时返回

java - Hadoop安装错误