メイン コンテンツをスキップする 補完的コンテンツへスキップ

サバイバーシップ機能を使用して2つのレコードをマージし、マスターレコードを作成する

このシナリオでは、T-Swooshアルゴリズムを使用して顧客名に重複を見つける基本的なジョブについて説明します。マッチングメソッドおよびサバイバーシップメソッドを使用してfirst_nameカラム内の値を比較し、類似するレコードをグルーピングし、サバイバーシップルールに従って2つの類似するレコードをマージすることで、各グループ内のエンティティの単一表記を作成します。

これらのマスターレコードは、入力データ内に存在しない新しいレコードです。

ジョブ内にT-Swooshアルゴリズムを使用し、複数のマッチングパスを使用できます。各パスは各グループに生き残ったマスターを、2番目のパスに元のレコードを提供します。ただし、中間マスターレコードは出力フローから削除されます。最後のマスターと元のレコードだけが最後に保管されます。

このシナリオはTalend Data Management PlatformTalend Big Data PlatformTalend Real-Time Big Data PlatformTalend MDM PlatformTalend Data Services PlatformTalend MDM PlatformおよびTalend Data Fabricにのみ適用されます。

このタスクについて

T-SwooshアルゴリズムはApache Spark Batchコンポーネントではサポートされていないため、このシナリオでは標準コンポーネントを使用します。

このジョブでは次のように処理されます:

  • tFileInputDelimitedコンポーネントは、処理する顧客レコードを提供します。
  • tMatchGroupコンポーネントは、マッチングメソッドおよびサバイバーシップメソッドを使用してデータを処理します。

  • tLogRowコンポーネントは、マッチング結果とサバイバーシップの結果を示します。
    tFileInputDelimitedコンポーネント、tMatchGroupコンポーネント、tLogRowコンポーネントを使ったジョブ。

ジョブを設定

このタスクについて

このシナリオでは、メインの入力スキーマは[Repository] (リポジトリー)に既に保存されています。リポジトリーにスキーマメタデータを保管する方法は、Talend Studioでメタデータを管理をご覧ください。

手順

  1. [Repository] (リポジトリー)ツリービューで、メイン入力スキーマを保存した[Metadata] (メタデータ) - [File delimited] (区切り付きファイル)を展開し、ファイル接続をデザインワークスペースにドロップします。
    このシナリオで使用しているファイル接続は、Customer_Fileという名前です。
    コンポーネントのリストを示すダイアログボックスが表示されます。
  2. tFileInputDelimitedを選択し、[OK]をクリックします。
  3. tMatchGroupおよびtLogRow[Palette] (パレット)からデザインワークスペースにドロップします。
  4. [Main](メイン)リンクを使用してコンポーネントをリンクします。

入力コンポーネントを設定

このタスクについて

メイン入力ファイルには次のカラムが含まれています: idfirst_name、およびage。この入力ファイル内のデータには、重複、名前のスペルの相違や間違い、同一顧客に異なる情報など、問題があります。

手順

  1. tFileInputDelimitedをダブルクリックして、[Component] (コンポーネント)ビューを開きます。
    tFileInputDelimitedコンポーネントの設定。
    プロパティフィールドが自動的に入力されます。入力スキーマをリポジトリー内でローカルに定義しない場合は、[Schema] (スキーマ)リストと[Property Type] (プロパティタイプ)リストで[Built-in] (組み込み)を選択した後で、詳細を手動で入力します。
  2. スキーマが[Repository] (リポジトリー)にまだ保存されていない場合は、[Edit Schema] (スキーマを編集)ボタンを使用してスキーマを作成します。[Type] (タイプ)カラムでデータ型を必ず設定してください。
    tFileInputDelimitedコンポーネントのスキーマ。

スキーマを設定してマッチングアルゴリズムを選択

手順

  1. tMatchGroupをダブルクリックして[Basic settings] (基本設定)ビューを表示し、コンポーネントプロパティを定義します。
  2. [Matching Algorithm] (マッチングアルゴリズム)リストでT-Swooshを選択します。
    このシナリオでは、マッチングルールはT-Swooshアルゴリズムに基づいています。
  3. [Sync columns] (カラムを同期)をクリックして、先行のコンポーネントからスキーマを取得します。
  4. [Edit schema] (スキーマを編集)ボタンをクリックして入力および出力スキーマを表示し、必要に応じて出力スキーマに変更を施します。
    入力スキーマと出力スキーマの例。
    このコンポーネントの出力スキーマには、読み取り専用の出力標準カラムが少数含まれています。詳細は、tMatchGroupの標準プロパティをご覧ください。
  5. [Advanced settings] (詳細設定)ビューで、デフォルトで選択されているパラメーターをそのままにしておきます。

マッチングルールの定義

手順

  1. tMatchGroupの基本設定で[Preview] (プレビュー)をクリックして設定ウィザードを開き、マッチングキーとサバイバーシップ機能を定義します。
    tMatchGroupコンポーネントの設定。
    設定ウィザードを使用して、Talend Studioで作成およびテストし、リポジトリーに保存したマッチングルールをインポートし、マッチングジョブで使用できます。詳細は、リポジトリーからマッチングルールをインポートをご覧ください。
    コンポーネントの基本設定で同じ種類のマッチングアルゴリズムを選択し、構成ウィザードで定義することが重要です。それ以外の場合、ジョブは2つのアルゴリズム間で互換性のないパラメーターのデフォルト値で実行されます。
  2. マッチングルールを次のように定義します。
    • [Key definition] (キー定義)テーブルで[+]ボタンをクリックしてテーブルに行を追加します。[Input Key Attribute] (入力キー属性)カラムをクリックし、マッチングオペレーションを行うカラム(このシナリオではfirst_name)を選択します。

    • [Matching Function] (マッチングファンクション)カラムをクリックし、リストからSoundexを選択します。このメソッドでは、処理済みのエントリーが標準英語の音声アルゴリズムに従ってマッチングされます。このアルゴリズムでは、英語の発音による音で文字列にインデックスが作成されます。

    • [Tokenized measure] (トークン化された測定)リストで、選択したアルゴリズムにトークン化された距離を使用しないように指定します。

    • [Threshold] (しきい値)0.8に、[Confidence Weight] (重み付け)1に設定します。

    • マッチング結果でNull値の影響が最小となるよう、[Handle Null] (Nullを処理)カラムで[Null Match None] (Nullのマッチングなし)を選択します。

    • [Survivorship Function] (サバイバーシップ機能)カラムで[Most common] (最も一般的)を選択します。このメソッドでは、重複の各グループで最も頻度の高い名前の値が検証されます。

  3. デフォルトサバイバーシップルールを次のように定義します。
    • [Default Survivorship Rules] (デフォルトサバイバーシップルール)テーブルで[+]ボタンをクリックしてテーブルに行を追加します。[Data Type] (データ型)カラムをクリックし、[Number] (番号)を選択します。

    • [Survivorship Function] (サバイバーシップ機能)カラムをクリックし、リストから[Largest (for numbers)] (最大(数字))を選択します。このメソッドでは、各グループで最大の数値が検証されます。

  4. [Hide groups of less than] (未満でグループを非表示)パラメーターを設定し、結果チャートとマッチングテーブルに表示するグループを決定します。
    このパラメーターにより、サイズの小さいグループを非表示にすることもできます。
  5. ウィザードの[Chart] (チャート)ボタンをクリックして、定義済みの設定でジョブを実行し、結果をウィザードに直接表示します。
    tMatchGroupコンポーネントのチャートビューとテーブルビュー。
    マッチングチャートは、分析されたデータの重複の全体図が表示されます。マッチングテーブルには各グループの項目の詳細が示され、マッチングチャートの色に基づいてグループが色分けされます。また、レコードのうち、マスターレコードはtrueと表示されます。各グループ内のマスターレコードは、2つの類似するレコードを音声アルゴリズムとサバイバーシップルールに従ってマージした結果です。マスターレコードは、入力データ内に存在しない新しいレコードです。
  6. [OK]をクリックしてウィザードを閉じます。

ジョブの確定と実行

手順

  1. tLogRowコンポーネントをダブルクリックして、その[Basic settings] (基本設定)ビューを表示し、コンポーネントのプロパティを定義します。
  2. ジョブを保存し、F6を押して実行します。
    コンソールからの結果。
    類似するレコードがグルーピングされます。各グループのレコード数がGRP_SIZEカラム内にリスト表示され、マスターレコードでのみ計算されます。MASTERカラムは、対応するレコードがマスターレコードかそうでないかをtrueまたはfalseで示します。マスターレコードは、音声アルゴリズムがベストマッチするレコードを年齢の値が最大であるレコードとマージすることで作成されます。SCOREカラムには、Soundexマッチングアルゴリズムに従い、入力レコードとマスターレコードの間の計算された類似性がリスト表示されます。
    各グループの識別子(Stringデータ型のもの)が、対応するレコードの横にあるGIDカラム内にリスト表示されます。この識別子は、古いリリースから移行したジョブの場合はLongというデータ型になります。グループ識別子をStringにするには、インポートしたジョブ内のtMatchGroupコンポーネントを、Talend Studio[Palette] (パレット)からのtMatchGroupに置き換える必要があります。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。