Multi-passマッチング
連続するtMatchGroupコンポーネントを使用してジョブをデザインし、異なる複数のブロッキングキーをベースにデータパーティションを作成できます。
たとえば、顧客データベース内で都市または郵便番号が同じである重複を見つけたいとします。この場合、2つの連続するtMatchGroupを使用して、データパーティションを処理できます。
- カラム"city"がブロッキングキーとして定義されているtMatchGroupコンポーネントが1つ。
- カラム"ZipCode"がブロッキングキーとして定義されているtMatchGroupコンポーネントが1つ。
Multi-passマッチングとは?
前のパスで定義したマスターレコードを現在のtMatchGroupコンポーネントの入力として再利用するというのが、Multi-passマッチングの背景にある考え方です。Multi-passマッチングは、ブロッキングキーの間にコリレーションがほとんどない場合に、より有効です。たとえば、カラム"country"をブロッキングキーとして、カラム"city"をもう1つのブロッキングキーとして定義することには、関連性がありません。ブロッキングキー"city"に対して行われる比較はすべて、ブロッキングキー"country"に対しても行われるからです。
シンプルVSRマッチャーアルゴリズムでMulti-passマッチングを使用する場合、サイズ1のマスターレコード(どのレコードにもマッチングしなかったレコード)のみが、あらゆるサイズのマスターレコードと比較されます。少なくとも2つの子からそれぞれ取得された2つのマスターレコードの間で、比較は全く行われません。
Multi-passマッチングのサンプル
以下のサンプルでは、データセットにレコードが4つ含まれています。最初のtMatchGroupコンポーネントにはカラム"ZipCode"に対するブロッキングキーが1つあり、2番目のtMatchGroupコンポーネントにはカラム"city"に対するブロッキングキーが1つあることが前提とされています。属性"name"はマッチングキーとして使用されます。
id | [Name] (名前) | [city] (都市) | zipCode |
---|---|---|---|
1 | John Doe | Nantes | 44000 |
2 | John B. Doe | Nantes | |
3 | Jon Doe | Nantes | 44000 |
4 | John Doe | Nantes |
最初のパスの後で、レコード1と3がグルーピングされ、レコード2と4がグルーピングされます。これらのグループでは、レコード1とレコード2がマスターレコードです。
2番目のtMatchGroupでは、最初のパスからのマスターレコードであるレコード1とレコード2のみが比較されます。グループサイズが厳密に1よりも大きいため、これらは比較されません。そのため、入力レコードが保存される順序が非常に重要です。
以下の結果が返されます。
id | [Name] (名前) | [city] (都市) | zipCode | GID | GRP_SIZE | MASTER | SCORE | GRP_QUALITY |
---|---|---|---|---|---|---|---|---|
1 | John Doe | Nantes | 44000 | 0 | 2 | true | 1.0 | 0.875 |
3 | Jon Doe | Nantes | 44000 | 0 | 0 | false | 0.85 | 0 |
2 | John B. Doe | Nantes | 1 | 2 | true | 1.0 | 0.727 | |
4 | John Doe | Nantes | 1 | 0 | false | 0.72 | 0 |
同じパラメーターおよび[Most common] (最も一般的)なサバイバーシップ機能を使用してT-Swooshアルゴリズムを実行すると、以下の結果が返されます。
id | [Name] (名前) | [city] (都市) | zipCode | GID | GRP_SIZE | MASTER | SCORE | GRP_QUALITY |
---|---|---|---|---|---|---|---|---|
1 | John Doe | Nantes | 44000 | 0 | 4 | true | 1.0 | 0.727 |
1 | John Doe | Nantes | 44000 | 0 | 0 | true | 0.875 | 0 |
3 | Jon Doe | Nantes | 44000 | 0 | 0 | false | 0.875 | 0 |
2 | John B. Doe | Nantes | 0 | 0 | true | 0.72 | 0 | |
4 | John Doe | Nantes | 1 | 0 | false | 0.72 | 0 |
このページは役に立ちましたか?
このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。