虽然我经常在我的 Ubuntu 机器上使用 Hadoop,但我从来没有想过SUCCESS
和part-r-00000
文件。输出总是驻留在part-r-00000
文件中,但是文件有什么用SUCCESS
呢?为什么输出文件有名字part-r-0000
?是否有任何意义/任何命名法,或者这只是一个随机定义的?
问问题
30339 次
1 回答
74
见http://www.cloudera.com/blog/2010/08/what%E2%80%99s-new-in-apache-hadoop-0-21/
成功完成作业后,MapReduce 运行时会在输出目录中创建一个 _SUCCESS 文件。这对于需要仅通过检查 HDFS 来查看结果集是否完整的应用程序可能很有用。(MAPREDUCE-947)
这通常由作业调度系统(例如 OOZIE)使用,以表示在所有数据都已输出时可以开始对该目录内容的后续处理。
更新(回应评论)
输出文件默认命名为 part-x-yyyyy 其中:
x
是 'm' 或 'r',取决于作业是仅地图作业还是减少yyyyy
是 mapper 或 reducer 任务编号(从零开始)
因此,具有 32 个减速器的作业将具有名为 part-r-00000 到 part-r-00031 的文件,每个减速器任务一个。
于 2012-05-19T16:14:31.600 回答