Intraflow Match MapReduce ジョブの使用

  1. AdvanceMatchFactoryのインスタンスを、その静的メソッド getInstance() を使用して作成します。
  2. Intraflow Match ジョブの入力と出力の詳細を指定します。以下の手順に従って、IntraMatchDetailを指定するProcessType のインスタンスを作成することによって、これを行います。このインスタンスは、MRProcessTypeタイプを使用する必要があります。
    1. GroupbyOptionのインスタンスを作成することによって、レコードのグループ化に使用する列を指定します。
      GroupbyMROptionのインスタンスを使用して、必要な Group-By 列とリデューサー数を指定します。
    2. MatchRuleのインスタンスを作成することによって、ジョブのマッチング ルールを生成します。
    3. IntraMatchDetailのインスタンスを作成します。JobConfig タイプのインスタンスと、上で作成した GroupbyOption インスタンスおよび MatchRule インスタンスを、コンストラクタの引数として渡します。
      JobConfigパラメータは、MRJobConfig タイプのインスタンスである必要があります。
    4. inputPathインスタンスの IntraMatchDetail フィールドを使用して、入力ファイルの詳細を設定します。
      テキスト入力ファイルの場合は、適切なコンストラクタを呼び出して、関連する詳細な入力ファイル情報を指定してFilePathのインスタンスを作成します。ORC 入力ファイルの場合、ORC 入力ファイルのパスを引数に指定して OrcFilePathのインスタンスを作成します。
    5. outputPathインスタンスの IntraMatchDetail フィールドを使用して、出力ファイルの詳細を設定します。
      テキスト出力ファイルの場合は、適切なコンストラクタを呼び出して、関連する詳細な出力ファイル情報を指定してFilePathのインスタンスを作成します。ORC 出力ファイルの場合、ORC 出力ファイルのパスを引数に指定して OrcFilePathのインスタンスを作成します。
    6. jobNameインスタンスの IntraMatchDetail フィールドを使用して、ジョブの名前を設定します。
    7. 必要に応じて、expressMatchColumnインスタンスの IntraMatchDetail フィールドを使用して、Express マッチ列を設定します。
    8. ユニーク レコードにコレクション番号 0 (ゼロ) を割り当てる場合は、collectionNumberZerotoUniqueRecordsインスタンスの IntraMatchDetail フラグに true を設定します。デフォルトは true です。
      ユニーク レコードにコレクション番号 0 を割り当てたくない場合は、このフラグに false を設定します。
    9. compressOutputインスタンスの IntraMatchDetail フラグに true を設定して、ジョブの出力を圧縮します。
    10. 入力データにマッチ キーがない場合は、マッチ キー設定を指定して、Intraflow Match ジョブを実行する前にまず、Match Key Generator ジョブを実行してマッチ キーを生成する必要があります。
      入力データのマッチ キーを生成するには、MatchKeySettingsのインスタンスを作成および設定することによってマッチ キー設定を指定し、Intraflow マッチングを実行する前にマッチ キーを生成します。matchKeySettingsインスタンスの IntraMatchDetail フィールドを使用して、このインスタンスを設定します。
      注: マッチ キー設定方法については、コード サンプルを参照してください。
  3. 先ほど作成した AdvanceMatchFactoryのインスタンスを使用してそのメソッドcreateJob() を呼び出し、MapReduce ジョブを作成します。ここで、上の IntraMatchDetailのインスタンスを引数として渡します。
    createJob()メソッドはジョブを作成し、List インスタンスの ControlledJob を返します。
  4. JobControlのインスタンスを使用して、作成したジョブを実行します。
  5. MapReduce ジョブの正常実行後にレポート カウンタを表示するには、先ほど作成した AdvanceMatchFactoryのインスタンスを使用して、そのメソッド getCounters() を呼び出します。作成したジョブを引数として渡します。