0

Map Reduce 出力パーツ ファイルについていくつか質問があります。

    1> map reduce 出力の part-r-* ファイルと part-* ファイルの違いは何ですか? part-r-* は mapper からの出力で、part-* は reducer からの出力ですか?
    2> レデューサーが結果を生成しない場合、マッパーの出力はそのままになりますか、それとも削除されますか?
4

3 に答える 3

2

通常、part-r-*はレデューサーから取得されます。 MultipleOutputs別の命名規則を使用できます。リデュースステップがない場合、出力はpart-m-*になります。私が理解しているように、レデューサーが定義されている場合、レデューサーが何かを生成するかどうかに関係なく、マッパー出力は削除されます。通常、レデューサー出力ファイルは、を使用しない限り、空であっても生成されますLazyOutputFormat。m-nnnnnまたはr-nnnnnで終わっていないpart-*ファイルはどこで見つかりましたか?

于 2012-06-07T05:51:51.080 に答える
1

古いバージョン (< 0.2) では、part-000* のみを出力していました。しかし今では、part-mn* (n は番号 ex: part-m-00000) と part-rn* ファイルの両方が表示されます。part-rn* はレデューサーからの出力用です。part-mn* はコンバイナーからの出力です。(コンバイナーを使用しない場合、part-mn* は取得されません。これがデフォルトの動作であるかどうかはわかりません。)

于 2012-06-07T17:15:51.770 に答える
0

part-00000 は、古い API でマッパーまたはリデューサーによって作成された出力ディレクトリです。新しい API では、マッパー出力の場合は part-m-* に、レデューサー出力の場合は part-r-* にわずかに変更されました。詳細については、OReilly の Hadoop Definitive Guide の 28 ページを参照してください。

于 2015-02-04T04:00:27.873 に答える