ページの先頭行へ戻る
Interstage Big Data Parallel Processing Server V1.2.0 ユーザーズガイド
FUJITSU Software

11.7.2 キー分布を考慮し自動的に最適な条件に振り分ける

Hadoop入力データファイルの主キーの分布を調べ、その分布に応じてタスクが最適に実行されるように振り分ける方法です。これによりHadoopジョブの実行時間を短縮します。データ量の多い主キーから優先的に処理されるとともに、効率的にジョブが実行できるように各Reduceタスクの入力主キーグループが決定されます。また、実行可能なReduceタスク数(mapred.reduce.tasks)も実行環境に適した値に自動的設定されます。このため、スレーブサーバの故障や追加による多重度の変化が起こった際に、Reduceタスク数をチューニングする手間を省くことができます。

この振り分け方法を利用するためには、あらかじめ、主キー一覧ファイルを作成しておく必要があります。この主キー一覧ファイルをMapReduce設定ファイルの「主キー一覧ファイルの指定」で指定して外部プログラム並列実行コマンドを実行します。

参考

キー分布を考慮した振り分けでは、主キーの分布に偏りがある場合にHadoopジョブの実行時間を短縮することができます。

主キー一覧ファイル作成コマンドを実行すると、主キーの分布の偏りを確認することができます。

注意

最適化によるReduceタスクの数が優先されるため、MapReduce設定ファイルにReduceタスク数(mapred.reduce.tasks)を指定している場合、その値は無視されます。

外部プログラム並列実行コマンドの実行時、一時ディレクトリ(Javaのシステムプロパティ:java.io.tmpdirに指定されたディレクトリ、デフォルトは/tmp)に「_mainkeyList」ディレクトリが生成され、その配下に作業用ファイルが生成されます。「_mainkeyList」ディレクトリが使用するファイルサイズは、利用する主キー一覧ファイルと同等です。

ジョブ終了と同時に作業用ファイルは削除されます。