これらのプロパティは、標準のジョブのフレームワークで実行されているtMatchGroupを設定するために使われます。
標準のtMatchGroupのコンポーネントは、データクオリティファミリーに属しています。
このフレームワーク内のコンポーネントは、Talend Data Management PlatformTalend Big Data Platform、Talend Real-Time Big Data PlatformTalend Data Services Platform、およびTalend Data Fabricで使用できます。
基本設定
[Schema] (スキーマ)および[Edit schema] (スキーマを編集) |
スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。 ジョブで接続している先行コンポーネントからスキーマを取得するためには、[Sync columns] (カラムを同期)をクリックします。 このコンポーネントの出力スキーマには、以下の読み取り専用フィールドが含まれています: - GID: データ型[String] (文字列)のグループ識別コードを提供します。
注: 前のリリースから現在のTalend Studioに移行されたジョブでは、グループ識別子がLongデータ型である場合があります。グループ識別子をStringデータ型にするには、移行したジョブ内のtMatchGroupコンポーネントを[Palette] (パレット)からtMatchGroupコンポーネントへ置換します。
- [GRP_SIZE]: グループのレコード数をカウントします。マスターレコードでのみ計算されます。 MASTER: マッチング比較で使用されるレコードがマスターレコードかどうか、 入力レコードはそれぞれマスターレコードと比較され、マッチングした入力レコードはグループに含められます。 [SCORE]: 使用されるマッチングアルゴリズムに基づいて、入力レコードとマスターレコードの違いが測定されます。 tMatchGroupコンポーネントで複数の出力フローを使用している場合、このカラムのスコアにより、レコードが送られる出力グループが決定されます。 - GRP_QUALITYは[Matching Algorithm] (マッチングアルゴリズム)に依存します。
- MERGED_RECORD: この出力カラムは次の場合にのみ使用できます。
レコードが初回のパスのマスターレコードか、マスターレコードでない場合は、それぞれカラムにtrueまたはfalseが表示されます。 |
|
[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。 |
|
[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。 |
[Matching Algorithm] (マッチングアルゴリズム) |
[Simple VSR]またはT-Swooshのような、コンポーネントで使用するアルゴリズムをリストから選択します。 |
|
インポートアイコンをクリックして、Talend Studioリポジトリーからマッチングルールをインポートします。 [Match Rule Selector] (マッチングルールセレクター)ウィザードで、コンポーネントの基本設定で、選択したマッチングアルゴリズムと同じアルゴリズムでマッチングルールをインポートします。それ以外の場合、ジョブはSimple VSRアルゴリズムとT-Swooshアルゴリズムの間で互換性のないパラメーターのデフォルト値で実行されます。 ルールをインポートする方法の詳細は、マッチングルールをTalend Studioリポジトリーからインポートをご覧ください。 |
[Key Definition] (キー定義) |
[Input Key Attribute] (入力キーの属性) マッチングアルゴリズムを適用する入力フローからカラムを選択します。 注: 日付カラムにアルゴリズムやマッチングアルゴリズムを適用すると、日付形式で比較する内容を決定できます。
たとえば、日付の年のみを比較する場合は、コンポーネントスキーマで日付カラムのタイプを[Date]に設定し、[Date Pattern] (日付パターン)フィールドにyyyyと入力します。コンポーネントでは、スキーマで定義されたパターンに基づき、日付形式を文字列に変換してから文字列比較が開始されます。 |
[Matching Function] (マッチング関数) リストからマッチングアルゴリズムを選択します: [Exact]: 処理された各エントリーについて、完全に同じ値を持つすべての参照可能なエントリーに対してマッチングします。2つの文字列が完全にマッチングした場合、1が返されますが、マッチングしない場合は0が返されます。 [Exact - ignore case] (厳密 - 大文字小文字無視): 処理された各エントリーを、値の大文字小文字を無視して、まったく同じ値を持つすべての参照可能なエントリーにマッチングします。 [Soundex]: 処理されたエントリーを標準英語の音声アルゴリズムに従ってマッチングします。たとえば「Hello」、「H400」など、英語で発音されるように文字列の音声インデックスを作成します。漢字はサポートしていません。 [Levenshtein] (編集距離): ある文字列を別の文字列に変換するために必要な編集(挿入、削除、置換)の最小回数を計算します。tMatchGroupコンポーネントでこのアルゴリズムを使用した場合、最大距離を指定する必要はありません。コンポーネントにより距離に基づいてマッチ率が自動的に計算されます。このマッチングスコアは、[Confidence Weight] (信頼度の重み付け)フィールドに割り当てたウェイトに基づいて、グローバルマッチング計算に使用されます。 [Metaphone] (メタフォン): 発音によるエントリーの索引付けのための音声アルゴリズムに基づいています。ルックアップ参照のすべてのエントリーの発音をロードし、メインフローのすべてのエントリーを参照フローのエントリーに対してチェックします。 漢字はサポートしていません。 [Double Metaphone] (二重メタフォン): 音声アルゴリズムの新しいバージョン。元のアルゴリズムよりも正確な結果をもたらすメタフォン。文字列のプライマリーコードとセカンダリーコードの両方を返すことができます。これはあいまいなケースや共通の系統を持つ姓の複数のバリエーションに対応しています。 漢字はサポートしていません。 [Soundex FR]: 標準フランス語の音声アルゴリズムに従って処理されたエントリーにマッチングさせます。漢字はサポートしていません。 [Jaro]: スペルの逸脱に従って処理されたエントリーにマッチングさせます。2つの文字列の間でマッチングする文字数を数えます。距離の値が高いほど文字列の類似性が高いことを表します。 [Jaro-Winkler]: Jaroの亜種で、文字列の始まりを重視します。 [Fingerprint key] (指紋キー): 次のシーケンシャルプロセスを実行した後、エントリーにマッチングします。
q-grams: 文字列を長さ [Hamming]: 文字列を同じ長さの別の文字列に変換するのに必要な置換の最小数を計算します。たとえば、「masking」と「pairing」との間のハミング距離は3です。 [custom...]: [custom Matcher]カラムを使用してJavaライブラリーから外部マッチングアルゴリズムをロードできます。 外部Javaライブラリーをロードする方法の詳細は、tLibraryLoadをご覧ください。 カスタムマッチングアルゴリズムを作成する方法の詳細は、カスタムマッチングアルゴリズムの作成をご覧ください。 カスタムマッチングアルゴリズムの使用方法に関する関連シナリオについては、カスタムマッチングアルゴリズムを使用したエントリーのマッチングをご覧ください。 |
|
[Custom Matcher] (カスタムマッチャー) マッチングタイプとして[Custom] (カスタム)を選択した場合は、使用するカスタムクラス(外部マッチングアルゴリズム)を指すパスを入力します。このパスはライブラリーファイル(.jarファイル)で定義されます。このファイルは[LibraryLoad]コンポーネントを使用してインポートできます。 たとえば、ユーザー定義のmydistance.jarライブラリーにあるorg/talend/mydistanceディレクトリーに保管されているMyDistance.classクラスを使用するには、org.talend.mydistance.MyDistanceといパスを入力します。 |
|
[Tokenized measure] (トークン化された測定) トークン化とは文字列を単語に分割する概念です。選択したアルゴリズムのトークン化された測定を計算するために使用する方法を選択します。 [NO] (なし): 文字列にトークン化メソッドは使用されません。このオプションでは、「John Doe」と「Jon Doe」がマッチングします。 [Same place] (同じ場所): 2つの文字列を単語で2つのリストlist1とlist2に分割します。list1の各エレメントをlist2の同じ場所にあるエレメントに関連付けます。このメソッドを使用すると、"She is red and he is pink"と"Catherine is red and he is pink"はマッチングします。 [Same order] (同じ順序): 2つの文字列を単語で2つのリストlist1とlist2に分割し、list1がlist2よりも短いと想定します。list1のエレメントをlist2のエレメントと同じ順序で関連付けてみます。このメソッドを使用すると、「John Doe」と「John B. Doe」がマッチングします。 このメソッドは、数語の文字列でのみ使用する必要があります。そうしないと組み合わせの数が非常に大きくなります。 [Any order] (任意の順序): 2つの文字列を単語で2つのリストlist1とlist2に分割し、list1がlist2よりも短いと想定します。使用された類似性に関して最高のグローバル類似度になるようlist1の各単語のlist2の単語への割り当てを試行します。 このメソッドを使用すると、「John Doe」と「Doe John」がマッチングします。 |
|
[Threshold] (しきい値) このカラムは、マッチングアルゴリズムとしてT-Swooshを選択すると表示されます。 確率が設定値以上になる場合、2件のデータレコードはマッチングしていると見なされます。 0と1の間のしきい値を設定するために使われます。小数点以下6桁まで入力できます。 0は、カラム内の値間の類似性が測定されないことを意味します。1は、カラムの比較された2つの値が完全にマッチングするように設定することを意味します。デフォルト値は1です。 |
|
[Confidence Weight] (信頼度の重み付け) キー定義の各属性(カラム)の数値加重を設定するために使われます。 数値またはコンテキスト変数を入力できます。 0よりも大きい整数を指定してください。 |
|
[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がすべてにマッチング): マッチングします。 |
|
[Survivorship Function] (サバイバーシップ関数): 類似した2つのレコードをドロップダウンリストからどのようにマージするかを選択します。T-Swooshアルゴリズムが選択されている場合のみ使用できます。
|
|
[Reference column] (参照カラム) [Survivor Function] (サバイバー関数)を[Most recent] (最新)または[Most ancient] (最古)に設定すると、このカラムは参照カラムの選択に使われます。 |
|
パラメーター [Survivorship Function] (サバイバーシップ関数)を[Most trusted source] (最も信頼できるソース)に設定すると、この項目はマスターレコードのベースとして使うデータソースの名前を設定するために使われます。 [Survivorship Function] (サバイバーシップ関数)を[Concatenate] (連結)に設定すると、この項目はデータの連結に使う区切りを指定するために使われます。 |
|
[Match Threshold] (マッチングしきい値) |
マッチ率を入力します。確率が設定値以上になる場合、2件のデータレコードはマッチングしていると見なされます。 マッチルールごとに異なるマッチングしきい値を入力できます。 |
[Survivorship Rules For Columns] )(カラムのサバイバーシップルール)(T-Swooshアルゴリズムが選択されている場合のみ使用可能) |
[Input Column] (入力カラム): サバイバーシップ関数を適用する入力フローからカラムを選択します。 Survivorship Function (サバイバーシップ関数): ドロップダウンリストから2つの類似するレコードをマージする方法を選択します。 |
[Default Survivorship Rules] (デフォルトサバイバーシップルール) (T-Swooshアルゴリズムが選択されている場合のみ使用可能) |
[Data Type] (データ型): サバイバーシップ関数を適用する入力フローからデータ型を選択します。 Survivorship Function (サバイバーシップ関数): ドロップダウンリストから2つの類似するレコードをマージする方法を選択します。 |
[Blocking Selection] (ブロッキング選択) |
[Input Column] (入力カラム) 必要に応じて、処理されたデータをブロックに分割する入力フローのカラムを選択します。これは通常「ブロッキング」と呼ばれます。 ブロッキングにより、検査する必要があるレコードのペアの数が減ります。ブロッキングでは、入力データがパーティションに分割され、比較するペアの数を減らすと共に、徹底的なマッチを行ってマッチ率を向上させます。比較は各ブロックのレコードペアに制限されます。 非常に大きなデータを処理する場合、ブロッキングカラムを使用すると非常に便利です。 |
詳細設定
[Store on disk] (ディスクに保存) |
処理されたデータブロックをディスクに保存して、システムパフォーマンスを最大化する場合は、[Store on disk] (ディスクに保存)チェックボックスをオンにします。 [Max buffer size] (最大バッファーサイズ): 処理されたデータに割り当てる物理メモリのサイズを入力します。 [Temporary data directory path] (一時データのディレクトリーパス): 一時ファイルを保管する場所を設定するために使われます。 |
[Multiple output] (複数の出力) |
[Separate output] (出力の分離)チェックボックスをオンにすると、複数の出力フローが使えます。
注:
[Simple VSR] (シンプルVSR)アルゴリズムを使う場合、グループ品質はレコードで計算された最小距離です。 T-Swooshアルゴリズムを使う場合、グループの品質は、グループのすべてのレコードペア間で計算された最小距離です。 [Confident match threshold] (信頼できるマッチングしきい値):現在の[Match threshold] (マッチングしきい値)と1の間の数値を設定するために使われます。このしきい値により、グループの品質を信頼できます。 |
[Multi-pass] (マルチパス) |
このチェックボックスをオンにすると、tMatchGroupコンポーネントは、そのジョブの前の別のtMatchGroupからデータセットを受け取ることができます。これにより、さまざまなブロッキングキーに基づいてデータパーティションを作成し、各tMatchGroupコンポーネントによって受け取ったグループの絞り込みを行えます。 注: ジョブとこのオプションで2つのtMatchGroupコンポーネントを使う場合は、リンクする前に、両方のtMatchGroupコンポーネントでこのチェックボックスをオンにしておく必要があります。このチェックボックスをオンにする前にコンポーネントをリンクした場合は、ジョブフロー内の2番目のコンポーネントでこのチェックボックスをオンにして、続いて最初のコンポーネントで同チェックボックスをオンにします。この手順を守らないと、同じ名前の出力スキーマ内に2つのカラムがあるため、問題が発生するおそれがあります。片方のtMatchGroupコンポーネントだけでこのチェックボックスをオンにすると、スキーマの不一致の問題が発生するおそれがあります。
マルチパスマッチングでは、すべてのマスターレコードが生成されますが、中間マスターレコードは出力フローから削除されます。最後のマスターと元のレコードだけが最後に保管されます。 最初のtMatchGroupからの単一のマスターレコードが2番目のtMatchGroupが渡された後に1つのグループにマージされると、そのグループでの順序がジョブを実行するたびに変わることがあります。 ジョブのサンプルは、複数のパスによる顧客データのマッチングをご覧ください。 [Propagate original values] (元の値を伝播): このオプションは、T-Swooshアルゴリズムでのみ使用できます。このチェックボックスをオンにすると、パスした各回の元のレコード(不一致レコードに限定されない)が2回目のマッチングでも、お互いに対してと生き残ったマスターに対しての両方で考慮されます。これは、マッチングが見逃されないようにするのに役立ちます。 |
[Sort the output data by GID] (出力データをGIDでソート) |
このチェックボックスをオンにすると、出力データがグループIDでグルーピングされます。 出力は、グループ識別子によって昇順の英数字順にソートされます。 |
[Output distance details] (距離の詳細を出力) |
このチェックボックスをオンにすると、コンポーネントのスキーマに出力カラム[MATCHING_DISTANCES]が追加されます。このカラムには、各グループの入力レコードとマスタレコードの違いが示されます。 注: ジョブとこのオプションで2つのtMatchGroupコンポーネントを使う場合は、リンクする前に、両方のtMatchGroupコンポーネントでこのチェックボックスをオンにしておく必要があります。このチェックボックスをオンにする前にコンポーネントをリンクした場合は、ジョブフロー内の2番目のコンポーネントでこのチェックボックスをオンにして、続いて最初のコンポーネントで同チェックボックスをオンにします。この手順を守らないと、同じ名前の出力スキーマ内に2つのカラムがあるため、問題が発生するおそれがあります。片方のtMatchGroupコンポーネントだけでこのチェックボックスをオンにすると、スキーマの不一致の問題が発生するおそれがあります。
|
[Display detailed labels] (詳細ラベルの表示) |
このチェックボックスをオンにすると、マッチ率だけでなく、適用されたルールのキー属性として使用するカラムの名前も、出力[MATCHING_DISTANCES]カラムに表示されます。 たとえば、lname (姓)とfname (名)フィールドでマッチングする場合、チェックボックスがオンの場合は |
ウィザードオープン時のマッチング計算の無効化 |
このチェックボックスをオンにすると、設定ウィザードが開かれますが、ウィザードで定義されたマッチングルールは実行されません。 これにより、コンポーネントの操作体験を向上させることができます。そうしない場合、ウィザードの起動に時間がかかることがあります。 |
[tStatCatcher Statistics] (tStatCatcher統計) |
このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。このチェックボックスは、コンポーネントのMap/Reduceバージョンでは使用できません。 |
グローバル変数
グローバル変数 |
ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。 Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。 フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。 変数の詳細は、コンテキストと変数を使用をご覧ください。 |
使用方法
使用ルール |
このコンポーネントは中間ステップです。入力フロート出力フローが必要になります。 |