tRecordMatching
参照データソースとの照合によりあらゆるソースデータのデータクオリティを保証します。
tRecordMatchingは、さまざまな比較アルゴリズムを使用して複数のカラムに対してファジーマッチを行うことで、2つのテーブルを結合します。このコンポーネントは、メインフローからのカラムをルックアップフローからの参照カラムと比較し、定義するマッチングストラテジーに従い、マッチングデータ、マッチングデータの候補、およびリジェクトデータを出力します。マッチングストラテジーを調整する際に、ユーザー定義のマッチングスコアは、目的とするデータのマッチングレベルを決める上で極めて重要です。
デフォルトで、このコンポーネントはTalend Studioと共には出荷されていません。機能マネージャーを使ってインストールする必要があります。 詳細は、機能マネージャーを使って機能をインストールをご覧ください。
tRecordMatchingの標準プロパティ
これらのプロパティは、標準ジョブのフレームワークで実行されているtRecordMatchingを設定するために使われます。
標準のtRecordMatchingコンポーネントは、データクオリティファミリーに属しています。
このコンポーネントは、Talend Data Management Platform、Talend Big Data Platform、Talend Real-Time Big Data Platform、Talend Data Services Platform、Talend Data Fabricで利用できます。
基本設定
プロパティ | 説明 |
---|---|
[Schema] (スキーマ)と[Edit schema] (スキーマを編集) |
|
[Replace output column with lookup column if matches or possible matches] (マッチング、または可能性があるマッチングの場合は、出力カラムをルックアップカラムに置き換えます) |
値がマッチング、または可能性があるマッチングの場合に出力カラムをルックアップカラムに置換するには、このチェックボックスをオンにします。 このチェックボックスをオンにすると、[Columns Mapping] (カラムのマッピング)テーブルが表示されます。 |
[Columns Mapping] (カラムのマッピング) |
|
[Input Key Attribute] (入力キー属性) |
参照(ルックアップ)キーカラムを基にチェックする必要のあるメインフローからカラムを選択します。 情報メモ注: 日付カラムにアルゴリズムやマッチングアルゴリズムを適用すると、日付形式で比較する内容を決定できます。
たとえば、日付の年のみを比較する場合は、コンポーネントスキーマで日付カラムのタイプを[Date]に設定し、[Date Pattern] (日付パターン)フィールドにyyyyと入力します。コンポーネントでは、スキーマで定義されたパターンに基づき、日付形式を文字列に変換してから文字列比較が開始されます。 |
[Lookup Key Attribute] (ルックアップキー属性) |
入力フローからのカラムを比較する参照元として使用するルックアップキーカラムを選択します。 |
[Matching Function] (マッチングファンクション) |
関連するマッチングアルゴリズムをリストから選択します。 [Exact Match] (完全マッチング): 処理された各エントリーを、まったく同じ値を持つすべての可能な参照エントリーにマッチングさせます。 Levenshtein: 編集距離理論に基づきます。参照エントリーとマッチングするエントリーに必要な挿入、削除、置換の回数を計算します。 [Metaphone]: 発音でエントリーをインデックス設定する音声アルゴリズムに基づきます。ルックアップ参照のすべてのエントリーの発音をロードし、メインフローのすべてのエントリーを参照フローのエントリーに対してチェックします。 [Double Metaphone] (二重メタフォン): 音声アルゴリズムの新しいバージョン。元のアルゴリズムよりも正確な結果をもたらすメタフォン。文字列のプライマリーコードとセカンダリーコードの両方を返すことができます。これはあいまいなケースや共通の系統を持つ姓の複数のバリエーションに対応しています。 [Exact - ignore case] (厳密 - 大文字と小文字を無視): 処理された各エントリーを、値の大文字小文字を無視して、まったく同じ値を持つすべての参照可能なエントリーにマッチングします。 [Soundex]: 処理されたエントリーを標準英語の音声アルゴリズムに従ってマッチングします。 [Soundex FR]: 標準フランス語の音声アルゴリズムに従って処理されたエントリーにマッチングさせます。 [Jaro]: スペルの逸脱に従って処理されたエントリーにマッチングさせます。 q-grams: q 長さグラムの数を作成するために文字列を長さqの文字ブロックに分割して処理されたエントリーにマッチします。マッチング結果は、q-gramマッチに対して取り得るq-gramの数となります。 [Hamming]: 文字列を同じ長さの別の文字列に変換するのに必要な置換の最小数を計算します。たとえば、「masking」と「pairing」との間のハミング距離は3です。 [custom...] (カスタム...): Javaライブラリーから外部マッチングアルゴリズムをロードできます。このオプションを選択すると、[Custom Matcher] (カスタムマッチャー)カラムも有効になります。 外部Javaライブラリーをロードする方法は、tLibraryLoadをご覧ください。 |
[Custom Matcher] (カスタムマッチャー) |
|
[Weight] (加重) |
キー定義の各属性(カラム)の数値加重を設定するために使われます。0以上(> = 0)の任意の値にできます。 |
[Handle null] (Nullを処理) |
[Handle Null] (Nullを処理) null値を処理するには、カラムから使用するnull演算子をリストから選択します。 [Null Match Null] (NullがNullにマッチング): Null属性は、他のNull属性にのみマッチングします。 [Null Match None] (Nullのマッチングなし): Null属性は、他の属性とマッチングしません。 [Null Match All] (Nullがすべてにマッチング): Null属性は、他のすべての属性の値とマッチングします。 たとえば、nameカラムとfirstnameカラムの2つがあり、nameが決してNullにはならない場合でも最初のnameがNullになることがあります。 2つのレコードが次のような場合: "Doe", "John" "Doe", "" 選択した演算子によって以下の2つのレコードがマッチングする場合とマッチングしない場合があります: [Null Match Null] (NullがNullにマッチング): マッチングしません。 [Null Match None] (Nullのマッチングなし): マッチングしません。 [Null Match All] (Nullがすべてにマッチング): マッチングします。 以下のレコードについて: "Doe", "" "Doe", "" [Null Match Null] (NullがNullにマッチング): マッチングします。 [Null Match None] (Nullのマッチングなし): マッチングしません。 [Null Match All] (Nullがすべてにマッチング): マッチングします。 |
[Input Column] (入力カラム) |
必要に応じて、処理されたデータをブロックに分割する入力フローのカラムを選択します。これは通常「ブロッキング」と呼ばれます。 ブロッキングにより、検査する必要があるレコードのペアの数が減ります。ブロッキングでは、入力データがパーティションに分割され、比較するペアの数を減らすと共に、徹底的なマッチを行ってマッチ率を向上させます。比較は各ブロックのレコードペアに制限されます。 非常に大きなデータを処理する場合は、ブロッキングカラムを使用すると非常に便利です。 |
[Matching strategy] (マッチングストラテジー) |
ニーズに最適なマッチング出力を選択します。オプションは次のとおりです。
|
詳細設定
プロパティ | 説明 |
---|---|
[Matching Algorithm] (マッチングアルゴリズム) |
リストからアルゴリズムを選択します。当面、使用できるアルゴリズムは1つだけです。 [Simple VSR] (単純VSR): このアルゴリズムは、2つのレコードがどのようにマッチングするかを指定するベクター空間検索(VSR)メソッドに基づいています。 VSRアルゴリズムに基づいてルールをインポートする方法については、リポジトリーからマッチングルールをインポートをご覧ください。 |
[Possible match interval] (可能性があるマッチング間隔) |
最小値と最大値を入力します。 [minimum] (最小): 参照とマッチングするために許可される最小レコード距離を設定します(0 <= 最小)。[maximum] (最大): 参照とマッチングするために許可される最大距離を設定します(最大<=1)。 たとえば、最小値に0.5、最大値に0.9を設定すると、0.9以上のスコアはマッチングを示し、0.5よりも大きく0.9未満のスコアは可能性があるマッチング、その他のスコアはマッチングなしを示します。 |
[Store on disk] (ディスクに保存) |
処理されたデータブロックをディスクに保存して、システムパフォーマンスを最大化する場合は、このチェックボックスをオンにします。 |
[tStatCatcher Statistics] (tStatCatcher統計) |
このチェックボックスを選択すると、コンポーネントレベルでログデータを収集できます。 |
グローバル変数
変数 | 説明 |
---|---|
グローバル変数 |
NB_MATCH_LINE: 比較アルゴリズムにマッチングする行の数。これはAfter変数で、整数を返します。 NB_POSSIBLE_MATCH_LINE: 比較アルゴリズムにマッチングする可能性がある行の数。これはAfter変数で、整数を返します。 NB_NONE_MATCH_LINE: 比較アルゴリズムにマッチングしない行の数。これはAfter変数で、整数を返します。 ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。 Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。 フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。 変数の詳細は、コンテキストと変数を使用をご覧ください。 |
使用方法
使用方法のガイダンス | 説明 |
---|---|
使用ルール |
このコンポーネントは、開始可能でなく、2つの入力コンポーネントと1つ以上の出力コンポーネントを必要とします。 |