0

初めての Hadoop ジョブを書きました。多くのファイルを処理し、入力ファイルごとに複数の出力ファイルを生成します。2 ノード クラスターで実行していますが、最大の入力セットで約 10 分かかります。以下のカウンターを見て、実行を高速化するために実行できる最適化は何ですか? これらのカウンターで探すべき特定の指標はありますか?

ここに画像の説明を入力

バージョン: 2.0.0-mr1-cdh4.1.2

マップ課題定員:20名

タスク容量を減らす:20

ノードあたりの平均タスク:20

4

1 に答える 1

1

ここで、ほとんどのデータ削減がマップ フェーズで発生することがわかります (マップ出力バイト数は、HDFS 読み取りバイト数よりもはるかに少なく、マップ入力レコードについても同じです。マップ入力レコードよりもはるかに小さいです)。また、多くの CPU 時間が費やされていることもわかります。また、シャッフル バイト数が少ないこともわかります
。したがって、このジョブは次のとおりです。
a) マップ フェーズで多くのデータ削減が行われます。
b) ジョブは CPU バウンドです。

なのでmapperとreducerのコードは最適化すべきだと思います。I/O はおそらく、このジョブにとって重要ではありません。

于 2013-01-25T19:06:07.610 に答える