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