Table Lookup MapReduce ジョブの使用

  1. DataNormalizationFactoryのインスタンスを、その静的メソッド getInstance() を使用して作成します。
  2. Table Lookup ジョブの入力と出力の詳細を指定します。以下の手順に従って、TableLookupDetailを指定するProcessType のインスタンスを作成することによって、これを行います。このインスタンスは、MRProcessTypeタイプを使用する必要があります。
    1. TableLookupConfigurationのインスタンスを作成することによって、Table Lookup ルールを設定します。このインスタンスの中で、次の操作を行います。
      AbstractTableLookupRuleタイプのインスタンスを追加します。この AbstractTableLookupRuleインスタンスは、必要な Table Lookup ルール カテゴリに応じて Standardize,Categorize または Identify のいずれかのクラスを用いて定義する必要があります。
    2. ReferenceDataPathのインスタンスを作成することによって、リファレンス データ パスと場所のタイプの詳細を設定します。列挙 ReferenceDataPathLocationを参照してください。
    3. TableLookupDetailのインスタンスを作成します。JobConfig タイプのインスタンスと、上で作成した TableLookupConfigurationReferenceDataPath のインスタンスを、コンストラクタの引数として渡します。
      JobConfigパラメータは、MRJobConfig タイプのインスタンスである必要があります。
    4. inputPathインスタンスの TableLookupDetail フィールドを使用して、入力ファイルの詳細を設定します。
      テキスト入力ファイルの場合は、適切なコンストラクタを呼び出して、関連する詳細な入力ファイル情報を指定してFilePathのインスタンスを作成します。ORC 入力ファイルの場合、ORC 入力ファイルのパスを引数に指定して OrcFilePathのインスタンスを作成します。
    5. outputPathインスタンスの TableLookupDetail フィールドを使用して、出力ファイルの詳細を設定します。
      テキスト出力ファイルの場合は、適切なコンストラクタを呼び出して、関連する詳細な出力ファイル情報を指定してFilePathのインスタンスを作成します。ORC 出力ファイルの場合、ORC 出力ファイルのパスを引数に指定して OrcFilePathのインスタンスを作成します。
    6. jobNameインスタンスの TableLookupDetail フィールドを使用して、ジョブの名前を設定します。
    7. compressOutputインスタンスの TableLookupDetail フラグに true を設定して、ジョブの出力を圧縮します。
  3. 先ほど作成した DataNormalizationFactoryのインスタンスを使用してそのメソッドcreateJob() を呼び出し、MapReduce ジョブを作成します。ここで、上の TableLookupDetailのインスタンスを引数として渡します。
    createJob()メソッドは、List のインスタンスの ControlledJob を返します。
  4. JobControlのインスタンスを使用して、作成したジョブを実行します。
  5. MapReduce ジョブの正常実行後にレポート カウンタを表示するには、先ほど作成した DataNormalizationFactoryのインスタンスを使用して、そのメソッド getCounters() を呼び出します。作成したジョブを引数として渡します。