虽然我经常在Ubuntu机器上使用Hadoop,但我从未想过SUCCESS
和part-r-00000
文件。输出始终驻留在part-r-00000
文件中,但是SUCCESS
文件有什么用?为什么输出文件的名称为 part-r-0000
?是否有任何意义/任何命名法,或者这只是一个随机定义的?
请参阅 http://www.cloudera.com/blog/2010/08/what%E2%80%99s-new-in-apache-hadoop-0-21/
成功完成作业后,MapReduce运行时会在输出目录中创建一个_SUCCESS文件。这对于需要仅通过检查 HDFS 来查看结果集是否完整的应用程序可能很有用。(马普雷杜克-947(
这通常由作业调度系统(如 OOZIE(使用,以表示在输出所有数据后可以开始对此目录内容的后续处理。
更新(回复评论(
默认情况下,输出文件命名为 part-x-yyyyy,其中:
-
x
为"m"或"r",具体取决于作业是仅地图作业,还是减少 - 映射器或化简器任务编号(从零开始(
yyyyy
因此,具有 32 个化简器的作业将具有名为 part-r-00000 到 part-r-00031 的文件,每个化简器任务一个。