【发布时间】:2019-04-05 03:35:11
【问题描述】:
我们在使用 Hadoop 和运行 CentOS 的 Virtual Box 时使用 BigData。每当我们执行一些程序时,它会创建 2 个不同的文件 1) part-r-00000 和 2) part-m-00000。那么这两个文件的区别和用途是什么?
【问题讨论】:
标签: hadoop
我们在使用 Hadoop 和运行 CentOS 的 Virtual Box 时使用 BigData。每当我们执行一些程序时,它会创建 2 个不同的文件 1) part-r-00000 和 2) part-m-00000。那么这两个文件的区别和用途是什么?
【问题讨论】:
标签: hadoop
输出文件默认命名为part-x-yyyyy
地点:
1) x 是 ‘m’ 或 ‘r',具体取决于作业是 map 唯一作业还是 reduce
2) yyyyy 是 Mapper 或 Reducer 任务编号(从零开始的(00000))
因此,如果一个作业有 10 个 reducer,生成的文件将命名为 part-r-00000 到 part-r-00009,每个 reducer 任务一个。
可以更改默认名称。
这是您在 Driver 类中更改输出文件的默认值所需要做的所有事情:
job.getConfiguration().set(“mapreduce.output.basename”, “Neo”);
所以这将导致您的文件被称为“Neo-r-00000”。
【讨论】:
这些是 MapReduce 作业生成的文件。 r 表示文件已经被Reducer 输出,m 表示文件已经被Mapper 输出。
【讨论】: