hadoop中的SUCCESS和part-r-00000文件是什么?

时间:2012-05-19 15:22:47

标签: hadoop mapreduce

虽然我经常在我的Ubuntu机器上使用Hadoop,但我从未想过SUCCESSpart-r-00000文件。输出始终位于part-r-00000文件中,但SUCCESS文件的用途是什么?为什么输出文件的名称为part-r-0000?是否有任何意义/任何命名法,或者这只是随机定义的?

1 个答案:

答案 0 :(得分:67)

请参阅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是映射器或缩减器任务编号(基于零)

因此,一个有32个reducer的作业将把part-r-00000的文件命名为part-r-00031,每个reducer任务一个。