Transactional Match Spark ジョブの使用

  1. AdvanceMatchFactoryのインスタンスを、その静的メソッド getInstance() を使用して作成します。
  2. Transactional Match ジョブの入力と出力の詳細を指定します。以下の手順に従って、ProcessType を指定する TransactionalMatchDetail のインスタンスを作成することによって、これを行います。このインスタンスは、SparkProcessType タイプを使用する必要があります。
    1. GroupbyOption のインスタンスを作成することによって、レコードのグループ化に使用する列を指定します。
      GroupbySparkOption のインスタンスを使用して、Group-By 列を指定します。
    2. MatchRuleのインスタンスを作成することによって、ジョブのマッチング ルールを生成します。
    3. TransactionalMatchDetail のインスタンスを作成します。JobConfig タイプのインスタンスと、上で作成した GroupbyOption インスタンスおよび MatchRule インスタンスを、コンストラクタの引数として渡します。
      JobConfig パラメータは、SparkJobConfig タイプのインスタンスである必要があります。
    4. inputPathインスタンスの TransactionalMatchDetail フィールドを使用して、入力ファイルの詳細を設定します。
      テキスト入力ファイルの場合は、適切なコンストラクタを呼び出して、関連する詳細な入力ファイル情報を指定してFilePathのインスタンスを作成します。ORC 入力ファイルの場合、ORC 入力ファイルのパスを引数に指定して OrcFilePathのインスタンスを作成します。
    5. outputPathインスタンスの TransactionalMatchDetail フィールドを使用して、出力ファイルの詳細を設定します。
      テキスト出力ファイルの場合は、適切なコンストラクタを呼び出して、関連する詳細な出力ファイル情報を指定してFilePathのインスタンスを作成します。ORC 出力ファイルの場合、ORC 出力ファイルのパスを引数に指定して OrcFilePathのインスタンスを作成します。
    6. jobNameインスタンスの TransactionalMatchDetail フィールドを使用して、ジョブの名前を設定します。
    7. ユニークな候補レコードを出力に返す場合は、returnUniqueCandidatesインスタンスの TransactionalMatchDetail フラグに true を設定します。デフォルトは true です。
    8. compressOutputインスタンスの TransactionalMatchDetail フラグに true を設定して、ジョブの出力を圧縮します。
    9. 入力データにマッチ キーがない場合は、マッチ キー設定を指定して、Transactional Match ジョブを実行する前にまず、Match Key Generator ジョブを実行してマッチ キーを生成する必要があります。
      入力データのマッチ キーを生成するには、MatchKeySettingsのインスタンスを作成および設定することによってマッチ キー設定を指定し、Transactional マッチングを実行する前にマッチ キーを生成します。matchKeySettingsインスタンスの TransactionalMatchDetail フィールドを使用して、このインスタンスを設定します。
      注: マッチ キー設定方法については、コード サンプルを参照してください。
  3. Spark ジョブを作成して実行するには、先ほど作成した AdvanceMatchFactory のインスタンスを使用してそのメソッド runSparkJob() を呼び出します。ここで、上の TransactionalMatchDetail のインスタンスを引数として渡します。
    runSparkJob() メソッドはジョブを実行し、ジョブのレポート カウンタの Map を返します。
  4. カウンタを表示することにより、ジョブに対する統計レポートを表示します。