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

Rav*_*shi 37 hadoop mapreduce

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

Chr*_*ite 69

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个reducer的作业将具有名为part-r-00000的文件到part-r-00031,每个reducer任务一个.

  • 注意:当前(`hadoop-streaming-2.4.0.2.1.1.0`)如果您碰巧使用hadoop-streaming,则没有`x`.所以它会像'part-00000`. (2认同)