0

私はそのようなHadoopの仕事をしていました。MR には map のみがあり、reduce はありません。そのため、job.setNumReduces(0) を設定します。入力ファイルは約300以上

次にジョブを実行すると、実行中のマップ タスクが 1 つしか表示されません。完了するまでに約 1 時間かかります。次に、結果を確認すると、出力フォルダーに 300 以上の結果ファイルが表示されます。

それは何か問題がありますか?それとも正しいことですか?

Map は、入力ファイルの番号 ( 1 ではありません) と等しくなければならないことを本当に期待しています。出力ファイル番号が入力ファイル番号と同じである理由もわかりません。

Hadoop ジョブは oozie から送信されます。

平素は格別のお引き立てを賜り、誠にありがとうございます。新松

4

2 に答える 2

1

レデューサーの数を 0 に設定すると、生成される出力は、map タスクのみによって生成される出力に対応します。

データの分割に対応する出力に多数のファイルが生成される場合があります。データを分割するたびに、新しいマップ タスクが生成されます。

実行時までに、ファイルサイズは1ではなくかなり大きいと思います。したがって、多数のファイルが生成されてもまったく問題ありません。

于 2013-10-29T08:26:05.643 に答える