web-dev-qa-db-ja.com

HadoopのSUCCESSおよびpart-r-00000ファイルとは

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

38
Ravi Joshi

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のレデューサーを持つジョブには、各レデューサータスクに1つずつ、part-r-00000からpart-r-00031という名前のファイルがあります。

69
Chris White