ページの先頭行へ戻る
NetCOBOL V12.0 ユーザーズガイド(Hadoop連携機能編)
FUJITSU Software

2.8.3 キーごとに異なるタスクへ振り分ける

主キーが異なるレコードを、それぞれ異なるReduceタスクへ振り分ける方法です。各Reduceタスクは1種類の主キーしか処理しないことが保障されるため、複数の主キーグループを処理できないアプリケーションに対して有効です。

この振り分け方法を利用するためには、以下の3つの手順が必要です。

  1. あらかじめ、Hadoop入力データファイルに含まれる主キーを「主キァイル」に定義します。

  2. 主キー一覧ファイルをMapReduce設定ファイルの「主キ一覧ァイルの指定」に指定します。

  3. MapReduce設定ファイルに「一意り分けの」を行います。

注意

主キー一覧ファイルに含まれない主キーを持つレコードがすべてスペアReduceタに割り振られるため、スペアReduceタスクに割り振られるレコードは、一意のキーにはなりません。

主キー一覧ファイルに含まれる主キーの数にスペアReduceタスクとして1を加えた値が、実行可能なReduceタスク数(mapred.reduce.tasks)になります。このため、MapReduce設定ファイルにReduceタスク数(mapred.reduce.tasks)を指定している場合、その値は無視されます。

想定外のタスク数が実行されることを防止するため、振り分け可能なキーの上限数が規定されています。上限数を引き上げるためには、MapReduce設定ファイルの「一意振り分けにおるキーの上限」を行います。