44

私は自分の Ubuntu マシンで Hadoop を頻繁に使用していますがSUCCESSpart-r-00000ファイルについて考えたことはありません。出力は常にpart-r-00000ファイルにありますが、ファイルの用途は何SUCCESSですか? 出力ファイルの名前はなぜpart-r-0000ですか? 意味/命名法はありますか、それともランダムに定義されているだけですか?

4

1 に答える 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ジョブがマップのみのジョブであるか、reduce ジョブであるかに応じて、「m」または「r」のいずれかになります。
  • yyyyyマッパーまたはリデューサーのタスク番号です (ゼロベース)

したがって、32 個のレデューサーを持つジョブには、各レデューサー タスクに 1 つずつ、part-r-00000 から part-r-00031 という名前のファイルがあります。

于 2012-05-19T16:14:31.600 に答える