Talendツールを使ってデータマッチング - Cloud - 8.0

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > データクオリティコンポーネント > マッチング > データマッチングコンポーネント
ジョブデザインと開発 > サードパーティーシステム > データクオリティコンポーネント > マッチング > ファジーマッチコンポーネント
ジョブデザインと開発 > サードパーティーシステム > データクオリティコンポーネント > マッチング > マッチングおよび機械学習コンポーネント
ジョブデザインと開発 > サードパーティーシステム > データクオリティコンポーネント > マッチング > 継続的マッチングコンポーネント
データガバナンス > サードパーティーシステム > データクオリティコンポーネント > マッチング > データマッチングコンポーネント
データガバナンス > サードパーティーシステム > データクオリティコンポーネント > マッチング > ファジーマッチコンポーネント
データガバナンス > サードパーティーシステム > データクオリティコンポーネント > マッチング > マッチングおよび機械学習コンポーネント
データガバナンス > サードパーティーシステム > データクオリティコンポーネント > マッチング > 継続的マッチングコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > データクオリティコンポーネント > マッチング > データマッチングコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > データクオリティコンポーネント > マッチング > ファジーマッチコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > データクオリティコンポーネント > マッチング > マッチングおよび機械学習コンポーネント
データクオリティとプレパレーション > サードパーティーシステム > データクオリティコンポーネント > マッチング > 継続的マッチングコンポーネント
Last publication date
2023-09-14

データマッチングとは

データマッチングとは、データセット内の同じエンティティを表すレコードを見つけることができるプロセスです。

一般的な定義

データマッチングによって次の操作が可能になります。
  • データソースで重複データ、重複の可能性があるデータ、非重複データを検索する
  • データを解析し、重み付けしたマッチング確率を返す
  • 同一または類似するエントリーを1つのエントリーにマージする
  • さまざまなデータソース間の不一致を低減させる

レコード連鎖

レコード連鎖は、データセット内にある同じエンティティを参照するレコードを識別することです。

データレコード連鎖には次の2つのタイプがあります。
  • 決定的レコード連鎖: マッチングする識別子に基づきます。
  • 確率的レコード連結: 識別子がマッチングする確率に基づきます。

マッチングの前にするべきこと

データをプロファイリング

データプロファイリングは、さまざまなデータソースで使用可能なデータを検証し、このデータに関する統計と情報を収集するプロセスです。

データプロファイリングは、定義された目標に従ってデータのクオリティレベルを評価する際に役立ちます。

データクオリティ問題は、レガシーシステム、データの移行、データベースの変更、人のコミュニケーションの行き違い、その他の数え切れない潜在する異常を含め、多数の異なる原因から生じることがあります。データクオリティ問題は、原因に関係なく、そのデータを使用して洞察力のある意思決定を下すビジネスの能力に影響する可能性があります。

データのクオリティが低い、または企業のニーズを満たすように統合できない構造でデータが管理されている場合、ビジネスプロセスと意思決定に悪影響が及びます。

手動の分析手法と比較すると、データプロファイリングテクノロジーは、データクオリティ管理の課題を解決し、データ移行やデータインテグレーション中に直面するデータクオリティ問題に対処したりする企業の能力を改善します。

データを標準化

マッチングタスクを実行する前にデータを標準化させることは、マッチング精度を向上させるために不可欠なステップです。
Talendは、データを標準化するうえでさまざまな方法を提供しています。
  • データはインデックスに対して標準化できます。シノニムは標準化されるか、「マスター」ワードに変換されます。

    利用できるデータシノニムディクショナリーの詳細は、データシノニムディクショナリーをご覧ください。

  • 住所検証コンポーネントを使用すれば、Experian QAS、Loqate、MelissaDataといった各検証ツールに対して住所データを標準化させることができます。これらのツールによって返される住所には一貫性があり、住所表現のバリエーションは排除されます。住所が標準化されればマッチングが容易になります。

    tQASBatchAddressRowtLoqateAddressRowtMelissaDataAddressという各コンポーネントの詳細は、Address standardizationをご覧ください。

  • tStandardizePhoneNumberコンポーネントを使用すれば、発信国の書式規則に基づいて電話番号を標準化できます。

    電話番号の標準化の詳細は、Phone number standardizationをご覧ください。

  • よりジェネリックなその他のコンポーネント(tReplacetReplaceListtVerifyEmailtExtractRegexFieldstMapなど)を使ってデータを変換すれば、より標準的なレコードを取得できます。

マッチングの方法

古典的マッチングのアプローチ

古典的なアプローチでは、同じ属性を持つ似たようなサイズのパーティションにデータを分類し、メトリックを選択して、マッチングルールを定義します。

パーティションによるブロッキング

レコード連鎖は、各レコードをデータセットの他のレコードと比較する必要があるため、要求の厳しいタスクです。この作業の効率を上げるためにはブロッキングという手法が必要になる場合がほとんどです。

ブロックキングとは、同じ属性を持つ似たような大きさのパーティションにデータを分類することです。その目的は、同じパーティション内にグループ化されているレコードに対して比較を限定することにあります。

効率的なパーティションを作成するためには、変更の可能性が低い属性(人のファーストネームやラストネームなど)を見つけることが必要です。このようにすることで、ブロックキングステップの信頼性とタスクの計算速度が向上します。

ブロッキングキーの生成とブロックの分布の表示には、tGenKeyコンポーネントを使用することをお勧めします。

ブロッキングキーの生成に関する詳細は、Identificationをご覧ください。

メトリクスを選択してマッチングルールを定義

データを同じようなサイズのグループにブロッキングした後は、tMatchGroupコンポーネントで使用する前に、マッチングルールを作成してテストできます。

マッチング分析の作成については、マッチング分析を作成をご覧ください。

tMatchGroupコンポーネントでのマッチング関数

tMatchGroupを使用すれば、1つまたは複数のマッチングルールを使うことで、大量のデータが含まれている任意のデータソースで類似したデータレコードのグループを作成できます。

作成されたグループはそれぞれ、マスターレコードとそのマスターレコードに類似したレコードで構成されます。類似したレコードとマスターレコードの間の類似度を計算するため、次のようなマッチング関数が使われます。
  • 音声アルゴリズム: SoundexやMetaphoneなどで、名前のマッチングに使われます。
  • レーベンシュタイン距離: ある文字列を別の文字列に変換するために必要な最小編集回数を計算します。
  • Jaro距離: 処理されたエントリーをスペルのずれに従ってマッチングさせます。
  • Jaro-Winkler距離: Jaroの亜種で、文字列の先頭をより重視します。

標準ジョブやMap/ReduceジョブでtMatchGroupコンポーネントを使う詳細については、古典的マッチングをご覧ください。

シンプルVSRマッチャーアルゴリズムとT-Swooshアルゴリズム

tMatchGroupコンポーネントを使用する場合は、次のいずれかのアルゴリズムを選択できます。
  • シンプルVSRマッチャー
  • T-Swoosh

マッチング分析の詳細は、Talend Help Centerで「マッチングルールを作成」をご覧ください。

レコードはいつマッチングするのか

2つのレコードは、以下の条件を満たした時にマッチングされます。
  • T-Swooshアルゴリズムを使用する場合は、各マッチング関数で返されるスコアが設定したしきい値より高いこと。
  • グローバルスコア(さまざまなマッチング関数の加重スコアとして計算)がマッチングしきい値を超えていること。

複数のパス

通常、さまざまなパーティショニングスキームが必要となります。そのため、tMatchGroupコンポーネントを順次使用し、異なるブロッキングキーに対してデータをマッチングさせる必要があります。

複数パスによるデータマッチングのサンプルは、古典的マッチングをご覧ください。

tRecordMatchingコンポーネントを使った作業

tRecordMatchingは、メインフローからの比較カラムとルックアップフローからの参照カラムを結合させます。定義されたマッチング戦略に従い、tRecordMatchingは、マッチングデータ、マッチング可能なデータ、拒否されたデータを出力します。マッチング戦略を調整する場合、ユーザ定義のマッチングスコアは対象データのマッチングレベルを決定するうえで重要です。

tRecordMatchingコンポーネントの詳細は、古典的マッチングをご覧ください。

機械学習のアプローチ

機械学習アプローチは、膨大なデータをマッチングさせたい場合に便利です。

モデルに学習させてマッチングを予測させれば、データマッチングのプロセスを自動化できます。

データマッチングのプロセス

古典的アプローチと比較すると、機械学習アプローチには次のような利点があります。

  • 異なるブロッキングメカニズムにより、より高速でスケーラブルな計算が可能になります。機械学習アプローチの場合、ブロッキングは分割ではありません。1つのレコードがさまざまなブロックに属することもあり、ブロックのサイズも明確に区切られています。ただし、tGenKeyコンポーネントではそうではありません。
  • 機械学習モデルによって学ばれ、保存されるルールは、人間が設計したマッチングルールよりもはるかに複雑でありながら恣意性は抑えられます。
  • コンポーネントの設定はさらにシンプルです。機械学習モデルは特にマッチング距離や類似度のしきい値などを自動的に学習します。
  1. 最初のステップでは、tMatchPairingコンポーネントを使ってデータセットを事前分析します。このtMatchPairing コンポーネントによって、一意レコード、完全マッチングレコード、疑わしいマッチペア、疑わしいマッチペアのサンプルが出力されます。

    その他の例は、疑わしいペアを作成してTalend Data Stewardshipにサンプルを書き込むソースデータの疑わしいペアと疑わしいサンプルを計算をご覧ください。

  2. 2番目のステップは、サンプルからの疑わしいマッチペアを "match" または "no-match" として手動でラベル付けすることです。ラベル付けの作業ではTalend Data Stewardshipを活用できます。

    たとえば"match"、"possible match"、"different"など、2つ以上のクラスを使用できます。

    Talend Data Stewardshipでレコードのペア間のリレーションシップを決定するグルーピングタスクの処理については、Talend Data Stewardshipの例をご覧ください。

  3. 3番目のステップは、ラベル付けした疑わしいマッチペアをtMatchModelコンポーネントに送信して分類子モデルを学習、および出力することです。

    マッチングするモデルを生成するサンプルは、このシナリオをご覧ください。

  4. 4 番目のステップは、tMatchModelで計算されたモデルをtMatchPredictコンポーネントで使用し、大規模なデータセットの疑わしいペアを自動的にラベル付けすることです。

    サスペクトペアに割り当て済みのラベルを付けるサンプルは、このシナリオをご覧ください。

よいサンプルとは

サンプルはバランスが取れていることが必要です。つまり、各クラス("match" と "no match")のレコード数がほぼ同じであることが必要です。データサンプルのバランスが悪いと、生成されるモデルが不完全なものになります。

また、サンプルが多様であることも大切です。サンプルの例が多様であればあるほど、モデルが学習したルールもより効果的になります。

そして、サンプルが適切なサイズであることです。数百万件のレコードが含まれる大規模なデータセットの場合は、数百から数千件のサンプルで十分かもしれません。データセットのレコード数が10,000レコード未満であれば、サンプルサイズはフルデータセットの1~10%であることが必要です。

tMatchModelがモデルを生成するしくみ

定義されたカラムについて可能な限り多くの情報が得られるよう、機械学習アルゴリズムでは特徴量と呼ばれるさまざまなメジャーが計算されます。

モデルを生成するため、tMatchModelはランダムフォレストアルゴリズムを使ってデータを解析します。ランダムフォレストとは、分類問題解決のために使用されるデシジョンツリーのコレクションのことです。デシジョンツリーの各ノードは、入力データに関連付けられた特徴量に関する質問に対応しています。ランダムフォレストは、デシジョンツリーを成長させることによって分類の精度を向上させてモデルを生成します。

Apache Sparkでのデータマッチングの詳細は、tMatchModelのプロパティをご参照ください。

マスターレコードを存続

tRuleSurvivorshipコンポーネントやTalend Data Stewardshipを使えばマスターレコードを存続させることができます。

tRuleSurvivorshipを使ってレコードをマージ

重複、および重複の可能性がありグループ化されているものを推定した後は、tRuleSurvivorshipコンポーネントを使い、最善のデータによって重複する各グループに単一の表現を作成できます。これはサバイバーと呼ばれます。

tMatchPredictによってラベル付けされた疑わしいペア、そしてtMatchPairingによって計算された一意行からクリーンなデータセットを作成するサンプルは、機械学習を使ってマッチングをご覧ください。

事務的なレビューとレコードのマージでTalend Data Stewardshipを使用

Talend Data Stewardshipでマージキャンペーンを追加すれば、サバイバーシップルールのレビューと変更、マスターレコードの作成、データのマージが可能になります。

Talend Data Stewardshipでのキャンペーンのマージングについては、Talend Data Stewardshipの例をご覧ください。

Talend Data Stewardshipでは、データスチュワードが次のようなデータスチュワードシップタスクの解決を担当するビジネスユーザーとなります。
  • 定義済みのアービトレーション選択リストから選択したラベルを割り当ててデータを分類する
  • 重複する可能性がある複数のレコードを1つのレコードにマージする

    権限を持つデータスチュワードはマージングタスクによって、重複する可能性があるソースレコードを1つのレコード(ゴールデンレコード)にマージできます。マージングタスクの結果として、データスチュワードによりゴールデンレコードが生成されます。

    Talend Data Stewardshipでのタスクのマージングについては、Talend Data Stewardshipの例をご覧ください。

    ソースレコードは同じソース(データベース重複除去)または異なるソース(データベース照合)から取得できます。

機械学習コンポーネントを使った再マッチングの方法

継続的マッチングを実行

クリーンなデータセットに対して新しいレコードをマッチングさせる場合は、マッチングプロセスを最初からやり直す必要はありません。

継続的マッチングは、クリーンなデータセットを再利用してインデックスを作成すれば実行できます。

継続的マッチングタスクを実行するためには、Elasticsearchのバージョン5.1.2以降が稼働している必要があります。

連続マッチングの処理は以下のステップで構成されています。

  1. まず、データセットからクリーンなレコードと重複除去されたレコードを分離するためのサフィックスを計算し、tMatchIndexを使ってElasticsearchでインデックス化します。

    tMatchIndexを使ってElasticsearchでデータをインデックス化するサンプルは、このシナリオをご覧ください。

  2. 次のステップは、tMatchIndexPredictを使って、インデックス化されたレコードと同じスキーマを持つ新しいレコードを比較し、マッチングするレコードとマッチングしないレコードを出力することです。このコンポーネントでは、tMatchPairingtMatchModelによって生成されたペアリングおよびマッチングモデルが使われます。

    参照データセットのレコードに対して新しいレコードをマッチングさせるサンプルは、このシナリオをご覧ください。

次に、tRuleSurvivorshipを使って、マッチングしないレコードをクリーンアップして重複除去し、tMatchIndexを使ってElasticsearchでインデックス化されたクリーンデータセットを入力します。

完全マッチング

完全マッチングとは、2つのレコードの属性のサブセットが同一であることを言います。

コンポーネント

tUniqRow

ジョブの入力または出力フローのデータクオリティを保証します。

tUniqRowは、エントリーを比較して、入力フローから重複エントリーを除外します。

デフォルトで、このコンポーネントはTalend Studioと共には出荷されていません。機能マネージャーを使ってインストールする必要があります。 詳細は、機能マネージャーを使って機能をインストールをご覧ください。

tUniqRowの標準プロパティ

このプロパティは[Standard] (標準)ジョブのフレームワークで実行されているtUniqRowの設定で使用されます。

標準tUniqRowコンポーネントはデータクオリティファミリーにのコンポーネントです。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

基本設定

[Schema] (スキーマ)[Edit schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。

  • [View schema] (スキーマを表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。

    変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーのコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

このコンポーネントはダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、ダイナミックスキーマをご覧ください。

ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。

 

[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。

 

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

[Unique key] (一意キー)

このエリアで、特定のカラムで重複除去を実行する1つ以上のカラムを選択します。

- [Key attribute] (キー属性)チェックボックスをオンにすると、すべてのカラムで重複除去が実行されます。

- [Case sensitive] (大文字と小文字を区別)チェックボックスをオンにすると、大文字小文字が区別されます。

詳細設定

[Only once each duplicated key] (各重複キーを1つに限定)

このチェックボックスをオンにすると、カラムの最初の重複エントリーのみが重複の出力フローに送信するキーとして定義されます。

[Use of disk (suitable for processing large row set)] (ディスクの使用:大量行セットの処理に最適)

このチェックボックスをオンにすると、大量のデータの処理時、ハードディスクに一時ファイルを生成できます。これにより、メモリオーバーフローが原因のジョブ実行エラーを回避できます。このチェックボックスをオンにすると、以下の定義も必要になります:

-[Buffer size in memory] (メモリのバッファーサイズ): ハードディスクに一時ファイルを生成する前に、メモリにバッファリングできる行数を選択します。

-[Directory for temp files] (一時ファイルのディレクトリー): 一時ファイルを保存する場所を設定するために使われます。

警告:

一時ファイル用には既存のディレクトリーを指定するようにしてください。そうでない場合、ジョブの実行時にエラーが発生します。

[Ignore trailing zeros for BigDecimal] (BigDecimalの末尾のゼロを無視)

このチェックボックスをオンにすると、BigDecimalデータの末尾のゼロが無視されます。

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスをオンにすると、ジョブレベルやコンポーネントレベルでジョブ処理メタデータが収集されます。

グローバル変数

グローバル変数

NB_UNIQUES: 一意の行の数。これはAfter変数で、整数を返します。

NB_DUPLICATES: 重複行の数。これはAfter変数で、整数を返します。

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。

Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。

変数の詳細は、コンテキストと変数を使用をご覧ください。

使用方法

使用ルール

このコンポーネントはデータのフローを処理し、入力と出力を必要とするため、中間ステップとして定義されます。

Apache Spark BatchのtUniqRowプロパティ

このプロパティは[Spark Batch]ジョブのフレームワークで実行されているtUniqRowの設定で使用されます。

Spark BatchtUniqRowコンポーネントは、変換処理ファミリーに属しています。

このフレームワーク内のコンポーネントは、ビッグデータ対応のサブスクリプションTalend 製品すべて、およびTalend Data Fabricで利用できます。

基本設定

[Schema] (スキーマ)[Edit schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。

  • [View schema] (スキーマを表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。

    変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーのコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

 

[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。

 

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

[Unique key] (一意キー)

このエリアで、特定のカラムで重複除去を実行する1つ以上のカラムを選択します。

- [Key attribute] (キー属性)チェックボックスをオンにすると、すべてのカラムで重複除去が実行されます。

- [Case sensitive] (大文字と小文字を区別)チェックボックスをオンにすると、大文字小文字が区別されます。

詳細設定

[Only once each duplicated key] (各重複キーを1つに限定)

このチェックボックスをオンにすると、カラムの最初の重複エントリーのみが重複の出力フローに送信するキーとして定義されます。

使用方法

使用ルール

このコンポーネントは中間ステップとして使用されます。

このコンポーネントは、所属するSpark Batchのコンポーネントのパレットと共に、Spark Batchジョブを作成している場合にだけ表示されます。

特に明記していない限り、このドキュメンテーションのシナリオでは、標準ジョブ、つまり従来の Talend Data Integrationジョブだけを扱います。

[Spark Connection] (Spark接続)

[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
  • Yarnモード(YarnクライアントまたはYarnクラスター):
    • Google Dataprocを使用している場合、[Spark configuration] (Spark設定)タブの[Google Storage staging bucket] (Google Storageステージングバケット)フィールドにバケットを指定します。

    • HDInsightを使用している場合、[Spark configuration] (Spark設定)タブの[Windows Azure Storage configuration] (Windows Azure Storage設定)エリアでジョブのデプロイメントに使用するブロブを指定します。

    • Altusを使用する場合は、[Spark configuration] (Spark設定)タブでジョブのデプロイにS3バケットまたはAzure Data Lake Storageを指定します。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使われているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

  • [Standalone mode] (スタンドアロンモード): クラスターで使われているファイルシステム(tHDFSConfiguration Apache Spark BatchtS3Configuration Apache Spark Batchなど)に対応する設定コンポーネントを使用します。

    ジョブ内に設定コンポーネントがない状態でDatabricksを使用している場合、ビジネスデータはDBFS (Databricks Filesystem)に直接書き込まれます。

この接続は、ジョブごとに有効になります。

Apache Spark StreamingのtUniqRowプロパティ

このプロパティは[Spark Streaming]ジョブのフレームワークで実行されているtUniqRowの設定で使用されます。

Spark StreamingtUniqRowコンポーネントは、変換処理ファミリーに属しています。

このコンポーネントは、Talend Real Time Big Data PlatformおよびTalend Data Fabricで利用できます。

基本設定

[Schema] (スキーマ)および[Edit schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。

  • [View schema] (スキーマを表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。

    変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーのコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

 

[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。

 

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

[Unique key] (一意キー)

このエリアで、特定のカラムで重複除去を実行する1つ以上のカラムを選択します。

- [Key attribute] (キー属性)チェックボックスをオンにすると、すべてのカラムで重複除去が実行されます。

- [Case sensitive] (大文字と小文字を区別)チェックボックスをオンにすると、大文字小文字が区別されます。

詳細設定

[Only once each duplicated key] (各重複キーを1つに限定)

このチェックボックスをオンにすると、カラムの最初の重複エントリーのみが重複の出力フローに送信するキーとして定義されます。

使用方法

使用ルール

このコンポーネントは中間ステップとして使用されます。

このコンポーネントは、所属するSpark Streamingのコンポーネントのパレットと共に、Spark Streamingジョブを作成している場合にだけ表示されます。

特に明記していない限り、このドキュメンテーションのシナリオでは、標準ジョブ、つまり従来の Talend Data Integrationジョブだけを扱います。

[Spark Connection] (Spark接続)

[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
  • Yarnモード(YarnクライアントまたはYarnクラスター):
    • Google Dataprocを使用している場合、[Spark configuration] (Spark設定)タブの[Google Storage staging bucket] (Google Storageステージングバケット)フィールドにバケットを指定します。

    • HDInsightを使用している場合、[Spark configuration] (Spark設定)タブの[Windows Azure Storage configuration] (Windows Azure Storage設定)エリアでジョブのデプロイメントに使用するブロブを指定します。

    • Altusを使用する場合は、[Spark configuration] (Spark設定)タブでジョブのデプロイにS3バケットまたはAzure Data Lake Storageを指定します。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使われているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

  • [Standalone mode] (スタンドアロンモード): クラスターで使われているファイルシステム(tHDFSConfiguration Apache Spark BatchtS3Configuration Apache Spark Batchなど)に対応する設定コンポーネントを使用します。

    ジョブ内に設定コンポーネントがない状態でDatabricksを使用している場合、ビジネスデータはDBFS (Databricks Filesystem)に直接書き込まれます。

この接続は、ジョブごとに有効になります。

シナリオ

エントリーの重複を除去

5つのコンポーネントが含まれているこのジョブでは、入力名リストのエントリーをソートし、重複する名前を探して[Run] (実行)タブに固有名と重複名を表示させます。

ジョブを設定

手順

  1. [Palette] (パレット)からデザインワークスペースに、tFileInputDelimitedtSortRowtUniqRow、およびtLogRowのコンポーネントを2つドロップします。
  2. オプション: コンポーネント名はダブルクリックすれば変更できます。
  3. [Row] (行) > [Main] (メイン)接続を使って、tFileInputDelimitedコンポーネント、tSortRowコンポーネント、tUniqRowコンポーネントを接続させます。
  4. [Main] (メイン) > [Uniques] (一意)接続を使って、tUniqRowコンポーネントと最初のtLogRowコンポーネントを接続します。
  5. [Main] (メイン) > [Duplicates] (重複)接続を使って、tUniqRowコンポーネントと2番目のtLogRowコンポーネントを接続します。

コンポーネントを設定

手順

  1. tFileInputDelimitedコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示します。
  2. [File Name/Stream] (ファイル名/ストリーム)の横にある[...]ボタンをクリックして、入力ファイルを参照します。
  3. ヘッダーとフッターの行を定義します。
    この例では、入力ファイルの最初の行がヘッダー行です。
  4. [Edit schema] (スキーマを編集)をクリックし、このコンポーネントのスキーマを定義します。
    1. [+]ボタンをクリックしてカラムを追加します。この例では、入力ファイルにIdFirstNameLastNameAgeCityという5つのカラムがあります。
    2. [OK]をクリックします。
  5. tSortRowコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示します。
  6. エントリーを名前のアルファベット順にソートする場合は、[+]ボタンをクリックしてCriteriaテーブルに2つの行を追加します。
    1. [Schema column] (スキーマカラム)FirstNameカラムとLastNameカラムを選択します。
    2. ソートタイプとしてalphaを選択します。
    3. ソート順序としてascを選択します。
  7. tUniqRowコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示します。
  8. [Unique key] (一意キー)エリアで、重複除去を実行するカラムを選択します。
    この例では、重複する名前をソートします。
  9. tLogRowコンポーネントの[Basic settings] (基本設定)ビューで[Table] (テーブル)オプションを選択し、ジョブの実行結果をテーブルモードで表示させます。

ジョブを保存して実行

手順

  1. ジョブを保存します。
  2. F6を押すか、[Run] (実行)タブの[Run] (実行)ボタンをクリックしてジョブを実行します。
    一意名と重複名が別々のテーブルに表示されます。

ダイナミックスキーマに基づいてエントリーの重複を除去

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

この例では、前述のシナリオのようなジョブを使用して、複数のファミリーに関する入力エントリーの重複除去を行い、各ファミリーで1人の名前だけがリストに残るようにします。このジョブのすべてのコンポーネントでダイナミックスキーマ機能がサポートされているため、このフィーチャーを活用することでスキーマのカラムを個別に設定する時間を節約できます。

ジョブを設定

手順

  1. [Palette] (パレット)からtFileInputDelimitedtExtractDynamicFieldstUniqRowtFileOutputDelimited、およびtLogRowのコンポーネントをデザインワークスペースにドロップし、ロールを識別しやすくなるよう上記のようにコンポーネントに名前をつけます。
  2. オプション: コンポーネント名はダブルクリックすれば変更できます。
  3. [Row] (行) > [Main] (メイン)接続を使って、tFileInputDelimitedコンポーネント、tExtractDynamicFieldsコンポーネント、tUniqRowコンポーネントを接続させます。
  4. [Main] (メイン) > [Uniques] (一意)接続を使って、tUniqRowコンポーネントと最初のtLogRowコンポーネントを接続します。
  5. [Main] (メイン) > [Duplicates] (重複)接続を使って、tUniqRowコンポーネントと2番目のtLogRowコンポーネントを接続します。

コンポーネントを設定

手順

  1. tFileInputDelimitedコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示します。
    重要: ダイナミックスキーマ機能は[Built-In] (組み込み)モードでのみサポートされており、ヘッダー行を付けるには入力ファイルが必要になります。
  2. [File Name/Stream] (ファイル名/ストリーム)の横にある[...]ボタンをクリックして、入力ファイルを参照します。
  3. ヘッダーとフッターの行を定義します。
    この例では、入力ファイルの最初の行がヘッダー行です。
  4. [Edit schema] (スキーマを編集)をクリックし、このコンポーネントのスキーマを定義します。
    この例では、入力ファイルにFirstNameLastNameHouseNoStreetCityという5つのカラムがあります。ここで、ダイナミックスキーマフィーチャーを活用するため、スキーマに1列ダイナミックカラムを定義します(この例ではDynaとします)。
    1. [+]ボタンをクリックして、新しい行を追加します。
    2. [Column] (カラム)フィールドにDynaと入力します。
    3. [Type] (タイプ)リストから[Dynamic] (ダイナミック)を選択します。
    4. [OK]をクリックします。
  5. tExtractDynamicFieldsコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示します。
    このコンポーネントを使用して、入力スキーマのダイナミックカラムを2つのカラム (1つは名前、もう1つはファミリー関連情報) に分割します。これを行うには、次の手順に従います。
    1. [Edit schema] (スキーマを編集)をクリックして、[Schema] (スキーマ)ダイアログボックスを開きます。
    2. 出力パネルで、[+]ボタンをクリックして出力スキーマに2つのカラムを追加し、それぞれ[FirstName][FamilyInfo]という名前を付けます。
    3. FirstNameカラム用に、[Type] (タイプ)リストでStringを選択します。
      これによって入力スキーマからこのカラムを抽出し、名前リストに各自のファーストネームが表示されるようになります。
    4. FamilyInfoカラム用に、[Type] (タイプ)リストでDynamicを選択します。
      このカラムによって、名前リストにある各人物の残りの情報(ラストネーム、家屋番号、通り、都市など)が表示され、すべてが合わさってファミリーが識別されます。
    5. [OK]をクリックしてスキーマをプロパゲートし、[Schema] (スキーマ)ダイアログボックスを閉じます。
  6. tUniqRowコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示します。
  7. [Unique key] (一意キー)エリアで、FamilyInfoカラム用に[Key attribute] (キーの属性)チェックボックスをオンにします。
    これによってファミリー情報で重複除去が行われます。
  8. tFileOutputDelimitedコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示します。
  9. 出力ファイルパスを定義して[Include header] (ヘッダーを含める)チェックボックスを選択します。
  10. その他の設定はそのままにしておきます。
  11. tLogRowコンポーネントの[Basic settings] (基本設定)ビューで[Table] (テーブル)オプションを選択し、ジョブの実行結果をテーブルモードで表示させます。

ジョブを保存して実行

手順

  1. ジョブを保存します。
  2. F6を押すか、[Run] (実行)タブの[Run] (実行)ボタンをクリックしてジョブを実行します。
    重複するファミリーに関数情報と共に出力ファイルが作成されます。リストに残るのは1ファミリーにつき1名のみです。

Fuzzy matching

ファジーマッチングにより、部分的にマッチングするレコードを判定できます。

コンポーネント

tFuzzyMatch

メインフローのカラムとルックアップフローの参照カラムを比較し、距離を表示するメインフローデータを出力します。

デフォルトで、このコンポーネントはTalend Studioと共には出荷されていません。機能マネージャーを使ってインストールする必要があります。 詳細は、機能マネージャーを使って機能をインストールをご覧ください。

tFuzzyMatchの標準プロパティ

これらのプロパティを使って、[Standard] (標準)ジョブフレームワーク内で実行されているtFuzzyMatchを設定します。

[Standard] (標準) tFuzzyMatchコンポーネントは、データクオリティファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

基本設定

[Schema] (スキーマ)[Edit schema] (スキーマを編集)

スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。スキーマは[Built-in] (組み込み)か、[Repository] (リポジトリー)にリモートで保存されます。

2つの読み取り専用列である[Value] (値)と[Match] (マッチング)が自動的に出力スキーマに追加されます。

 

[Built-in] (組み込み): このコンポーネントに対してのみ作成されたスキーマがローカルに保管されます。[Basic settings] (基本設定)タブにあるコンポーネントスキーマの詳細は、[Basic settings] (基本設定)をご覧ください。

 

[Repository] (リポジトリー): 既存のスキーマがリポジトリーに保管されているので、さまざまなプロジェクトやジョブデザインで再利用できます。[Basic settings] (基本設定)タブにあるコンポーネントスキーマの詳細は、[Basic settings] (基本設定)をご覧ください。

[Matching type ] (マッチングタイプ)

次の中から適切なマッチングアルゴリズムを選択します。

Levenshtein: 編集距離理論に基づきます。参照エントリーとマッチングするエントリーに必要な挿入、削除、置換の回数を計算します。

[Metaphone] (メタフォン):発音によるエントリーの索引付けのための音声アルゴリズムに基づいています。ルックアップ参照のすべてのエントリーの発音をロードし、メインフローのすべてのエントリーを参照フローのエントリーに対してチェックします。 漢字はサポートしていません。

[Double Metaphone] (二重メタフォン): 音声アルゴリズムの新しいバージョン。元のアルゴリズムよりも正確な結果をもたらすメタフォン。文字列のプライマリーコードとセカンダリーコードの両方を返すことができます。これはあいまいなケースや共通の系統を持つ姓の複数のバリエーションに対応しています。 漢字はサポートしていません。

[Min distance] (最小距離)

(Levenshteinのみ)参照とマッチングするために許可される変更の最小数を設定します。0に設定すると、完全マッチングのみが返されます。

[Max distance] (最大距離)

(Levenshteinのみ)参照とマッチングするために許可される変更の最大数を設定します。

[Matching column] (マッチングカラム)

参照(ルックアップ)キーカラムに対して照合が必要なメインフローのカラムを選択します

[Unique matching] (一意のマッチング)

利用できるマッチングがいくつか存在する場合は、可能な限りマッチングさせるため、このチェックボックスをオンにします。

[Matching item separator] (項目セパレータのマッチング)

いくつかのマッチングが利用可能な場合、一意のマッチングボックスが選択されていなければ、それらはすべて表示されます。すべてのマッチング間の区切り文字を定義します。

詳細設定

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。

グローバル変数

グローバル変数

NB_LINE: 入力コンポーネントによって読み取られた行の数、または出力コンポーネントに転送された行の数。これはAfter変数で、整数を返します。

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。

Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。

変数の詳細は、コンテキストと変数を使用をご覧ください。

使用方法

使用ルール

このコンポーネントは起動可能(緑色の背景)ではなく、2つの入力コンポーネントと1つの出力コンポーネントが必要です。

tFuzzyUniqRow

定義済みの照合方法を使用して入力フローのカラムを比較し、検出された重複を収集します。

デフォルトで、このコンポーネントはTalend Studioと共には出荷されていません。機能マネージャーを使ってインストールする必要があります。 詳細は、機能マネージャーを使って機能をインストールをご覧ください。

tFuzzyUniqRowの標準プロパティ

これらのプロパティを使って、[Standard] (標準)ジョブフレームワーク内で実行されているtFuzzyUniqRowを設定します。

[Standard] (標準) tFuzzyUniqRowコンポーネントは、データクオリティファミリーに属しています。

このコンポーネントは、Talend Data Management Platform、Talend Big Data Platform、Talend Real Time Big Data Platform、Talend Data Services Platform、Talend MDM PlatformおよびTalend Data Fabricで利用できます。

基本設定

[Schema] (スキーマ)[Edit schema] (スキーマを編集)

スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。スキーマは[Built-in] (組み込み)か、[Repository] (リポジトリー)にリモートで保存されます。

 

[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。[Basic settings] (基本設定)タブにあるコンポーネントスキーマの詳細は、[Basic settings] (基本設定)をご覧ください。

 

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。[Basic settings] (基本設定)タブにあるコンポーネントスキーマの詳細は、[Basic settings] (基本設定)をご覧ください。

カラム

入力フロー内のすべてのカラムのリスト。

[Key Attribute] (キー属性)

確認するカラムの横にあるチェックボックスをオンにします。

[Matching type ] (マッチングタイプ)

関連するマッチングアルゴリズムをリストから選択します。

[Exact Match] (完全マッチング): 処理された各エントリーを、まったく同じ値を持つすべての可能な参照エントリーにマッチングさせます。

Levenshtein: 編集距離理論に基づきます。参照エントリーとマッチングするエントリーに必要な挿入、削除、置換の回数を計算します。

[Metaphone] (メタフォン):発音によるエントリーの索引付けのための音声アルゴリズムに基づいています。ルックアップ参照のすべてのエントリーの発音をロードし、メインフローのすべてのエントリーを参照フローのエントリーに対してチェックします。 漢字はサポートしていません。

[Double Metaphone] (二重メタフォン): 音声アルゴリズムの新しいバージョン。元のアルゴリズムよりも正確な結果をもたらすメタフォン。文字列のプライマリーコードとセカンダリーコードの両方を返すことができます。これはあいまいなケースや共通の系統を持つ姓の複数のバリエーションに対応しています。 漢字はサポートしていません。

[Min. Distance] (最小距離)

Levenshteinのみ参照とマッチングするために許可される変更の最小数を設定します。0に設定すると、[Exact Match] (完全マッチング)のみが返されます。

[Max. Errors] (最大エラー数) Distance] (最大距離)

Levenshteinのみ参照とマッチングするために許可される変更の最大数を設定します。

詳細設定

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。

グローバル変数

グローバル変数

NB_UNIQUES: 一意の行の数。これはAfter変数で、整数を返します。

NB_DUPLICATES: 重複行の数。これはAfter変数で、整数を返します。

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。

Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。

変数の詳細は、コンテキストと変数を使用をご覧ください。

使用方法

使用ルール

このコンポーネントは起動可能(緑色の背景)ではなく、1つの入力コンポーネントと2つの出力コンポーネントが必要です。

tBlockedFuzzyJoin

Deprecated: 7.3の一般公開リリース以降、このコンポーネントは非推奨となっています。

参照データソースとの照合によりあらゆるソースデータのデータクオリティを保証します。

tBlockedFuzzyJoinは、複数のカラムにファジーマッチを実行することで、2つのテーブルを結合します。このコンポーネントは、メインフローからのカラムをルックアップフローからの参照カラムと比較し、マッチングデータ、マッチングデータの候補、およびリジェクトデータを出力します。

tBlockedFuzzyJoinの標準プロパティ

このプロパティは[Standard] (標準)ジョブのフレームワークで実行されているtBlockedFuzzyJoinの設定で使用されます。

標準tBlockedFuzzyJoinコンポーネントは、データクオリティファミリーに属しています。

このコンポーネントは、Talend Data Management Platform、Talend Big Data Platform、Talend Real Time Big Data Platform、Talend Data Services Platform、Talend MDM PlatformおよびTalend Data Fabricで利用できます。

基本設定

[Schema] (スキーマ)[Edit schema] (スキーマを編集)

スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。スキーマは[Built-in] (組み込み)か、[Repository] (リポジトリー)にリモートで保存されます。

 

[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。[Basic settings] (基本設定)タブにあるコンポーネントスキーマの詳細は、[Basic settings] (基本設定)をご覧ください。

 

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保存されています。他のプロジェクトやジョブデザインで再利用できます。[Basic settings] (基本設定)タブにあるコンポーネントスキーマの詳細は、[Basic settings] (基本設定)をご覧ください。

[Replace output column with lookup column if matches or possible matches] (マッチング、または可能性があるマッチングの場合は、出力カラムをルックアップカラムに置き換えます)

値がマッチング、または可能性があるマッチングの場合に出力カラムをルックアップカラムに置換するには、このチェックボックスをオンにします。

[Input key attribute] (入力キー属性)

参照(ルックアップ)キーカラムを基にチェックする必要のあるメインフローからカラムを選択します。

[Lookup key attribute] (ルックアップキー属性)

入力フローからのカラムを比較する参照元として使用するルックアップキーカラムを選択します。

[Matching type ] (マッチングタイプ)

関連するマッチングアルゴリズムをリストから選択します。

[Exact Match] (完全マッチング): 処理された各エントリーを、まったく同じ値を持つすべての可能な参照エントリーにマッチングさせます。

Levenshtein: 編集距離理論に基づきます。参照エントリーとマッチングするエントリーに必要な挿入、削除、置換の回数を計算します。

[Metaphone] (メタフォン):発音によるエントリーの索引付けのための音声アルゴリズムに基づいています。ルックアップ参照のすべてのエントリーの発音をロードし、メインフローのすべてのエントリーを参照フローのエントリーに対してチェックします。

[Double Metaphone] (二重メタフォン): 音声アルゴリズムの新しいバージョン。元のアルゴリズムよりも正確な結果をもたらすメタフォン。文字列のプライマリーコードとセカンダリーコードの両方を返すことができます。これはあいまいなケースや共通の系統を持つ姓の複数のバリエーションに対応しています。

Case sensitive

このチェックボックスを選択して、大文字と小文字を考慮します。

[Min distance] (最小距離)

Levenshteinのみ参照とマッチングするために許可される変更の最小数を設定します。0に設定すると、[Exact Match] (完全マッチング)のみが返されます。

注:

最小距離と最大距離のコンテクスト変数を作成および保管した後にそれらの値でジョブをループさせ、低い最大数から行とマッチングさせ、より高い最大数に増やして可能な行とさらにマッチングさせることができます。[Ctrl+Space]を押して、変数リストにアクセスして、新しいコンテキスト変数を選択できます。コンテキスト変数の詳細は、コンテキストと変数を使用をご覧ください。

[Max distance] (最大距離)

Levenshteinのみ参照とマッチングするために許可される変更の最大数を設定します。

詳細設定

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。

グローバル変数

グローバル変数

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。

Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。

変数の詳細は、コンテキストと変数を使用をご覧ください。

使用方法

使用ルール

このコンポーネントは非推奨です。代わりにtRecordMatchingコンポーネントを使います。

このコンポーネントは開始可能でなく(緑色の背景)、2つの入力コンポーネントと1つ以上の出力コンポーネントを必要とします。

tFuzzyJoin

Deprecated: 7.3の一般公開リリース以降、このコンポーネントは非推奨となっています。

複数のカラムであいまいマッチングを行ったり、メインフローからのカラムをルックアップフローからの参照カラムと比較したり、メインフローデータまたはリジェクトデータを出力したりして、2つのテーブルを結合します。

tFuzzyJoin Standardプロパティ

このプロパティは[Standard] (標準)ジョブのフレームワークで実行されているtFuzzyJoinの設定で使用されます。

[Standard] (標準)tFuzzyJoinコンポーネントは、データクオリティファミリーに属しています。

このコンポーネントは、Talend Data Management Platform、Talend Big Data Platform、Talend Real Time Big Data Platform、Talend Data Services Platform、Talend MDM PlatformおよびTalend Data Fabricで利用できます。

基本設定

[Schema] (スキーマ)[Edit schema] (スキーマを編集)

スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。スキーマは[Built-in] (組み込み)か、[Repository] (リポジトリー)にリモートで保存されます。

 

[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。[Basic settings] (基本設定)タブにあるコンポーネントスキーマの詳細は、[Basic settings] (基本設定)をご覧ください。

 

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保存されています。他のプロジェクトやジョブデザインで再利用できます。[Basic settings] (基本設定)タブにあるコンポーネントスキーマの詳細は、[Basic settings] (基本設定)をご覧ください。

[Include lookup columns in output] (ルックアップカラムを出力に含める)

定義するルックアップカラムを出力フローに含めるには、このチェックボックスをオンにします。

[Input key attribute] (入力キー属性)

参照(ルックアップ)キーカラムを基にチェックする必要のあるメインフローからカラムを選択します。

[Lookup key attribute] (ルックアップキー属性)

入力フローからのカラムを比較する参照元として使用するルックアップキーカラムを選択します。

[Matching type ] (マッチングタイプ)

関連するマッチングアルゴリズムをリストから選択します。

[Exact Match] (完全マッチング): 処理された各エントリーを、まったく同じ値を持つすべての可能な参照エントリーにマッチングさせます。

Levenshtein: 編集距離理論に基づきます。参照エントリーとマッチングするエントリーに必要な挿入、削除、置換の回数を計算します。

[Metaphone] (メタフォン):発音によるエントリーの索引付けのための音声アルゴリズムに基づいています。ルックアップ参照のすべてのエントリーの発音をロードし、メインフローのすべてのエントリーを参照フローのエントリーに対してチェックします。

[Double Metaphone] (二重メタフォン): 音声アルゴリズムの新しいバージョン。元のアルゴリズムよりも正確な結果をもたらすメタフォン。文字列のプライマリーコードとセカンダリーコードの両方を返すことができます。これはあいまいなケースや共通の系統を持つ姓の複数のバリエーションに対応しています。

Case sensitive

このチェックボックスを選択して、大文字と小文字を考慮します。

[Min distance] (最小距離)

Levenshteinのみ参照とマッチングするために許可される変更の最小数を設定します。0に設定すると、[Exact Match] (完全マッチング)のみが返されます。

注:

最小距離と最大距離のコンテクスト変数を作成および保管し、低い最大数から行とマッチングさせ、より高い最大数に増やして可能な行とさらにマッチングさせることができます。[Ctrl+Space]を押して、変数リストにアクセスして、新しいコンテキスト変数を選択できます。コンテキスト変数の詳細は、コンテキストと変数を使用をご覧ください。

[Max distance] (最大距離)

Levenshteinのみ参照とマッチングするために許可される変更の最大数を設定します。

[Inner join (with reject output)] (内部結合(リジェクト出力付き))

最初に2つのテーブルを結合し、リジェクトデータをメインフローから収集するには、このチェックボックスをオンにします。

詳細設定

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。

グローバル変数

グローバル変数

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。

Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。

変数の詳細は、コンテキストと変数を使用をご覧ください。

使用方法

使用ルール

このコンポーネントは非推奨です。代わりにtRecordMatchingコンポーネントを使います。

このコンポーネントは開始可能でなく、2つの入力コンポーネントと1つ以上の出力コンポーネントを必要とします。

シナリオ

ファーストネーム内のLevenshtein距離0をチェック

このシナリオでは、入力ファイルの[First Name] (名前)カラムと参照入力ファイルのデータとの間の編集距離をチェックすることを目的とした4コンポーネントジョブについて説明します。このLevenshtein型チェックの出力はメインフローの内容と共にテーブルに表示されます。

ジョブを設定

手順

  1. [Palette] (パレット)からデザインワークスペースに2つのtFixedFlowInputコンポーネント、tFuzzyMatchコンポーネント、tLogRowコンポーネントをドラッグ&ドロップします。
  2. [Row] (行) > [Main] (メイン)接続を使って、最初のtFixedFlowInputコンポーネントをtFuzzyMatchコンポーネントにリンクさせます。
  3. [Row] (行) > [Main] (メイン)接続(デザインワークスペースのLookup行として表示)を使って、2番目のtFixedFlowInputコンポーネントをtFuzzyMatchにリンクさせます。
  4. Row > Main接続を使用して、tFuzzyMatchコンポーネントを標準出力tLogRowにリンクします。

コンポーネントを設定

手順

  1. [Basic settings] (基本設定)ビューで、最初のtFixedFlowInputを定義します。
    この例では次の入力を使います。
    FirstName;Name
    Brad;Los angeles
    Jason;New York
    Margaret;
    Kourtney;Seattle
    Nicole;Saint-Louis
    John;Denver
  2. コンポーネントのスキーマを定義します。この例では、入力スキーマにはFirstNameカラムとCityカラムの2つがあります。
  3. 2番目のtFixedFlowInputを定義します。
    この例では次の入力を使います。
    FirstName;City
    Brad;Los Angeles
    Jason;New York
    Margaret;Dallas
    Courtney;Seattle
    Nicole;Saint-Louis
    Jon;Denver
  4. ルックアップフローのスキーマで、参照カラムをキーカラムとして設定します。
  5. tFuzzyMatchコンポーネントをダブルクリックして、その[Basic settings] (基本設定)ビューを開き、そのスキーマを定義します。
    メインフローを参照に対してチェックするには、[Schema] (スキーマ)[Main] (メイン)入力フロースキーマとマッチングする必要があります。
    [Value] (値)[Matching] (マッチング)の2つのカラムが出力スキーマに追加されていることにご注意ください。これらは標準マッチング情報であり、読み取り専用です。
  6. 受信データの確認に使用する方法を選択します。この例では、Levenshteinは使用する[Matching type ] (マッチングタイプ)です。
  7. 距離を設定します。
    この方法では、距離は、エントリーが参照と完全にマッチングするために実行する必要がある文字変更(挿入、削除、置換)の数です。
    この例では、最小距離と最大距離の両方を0に設定します。これによって正確なマッチングのみが出力されます。
  8. [Case sensitive] (大文字と小文字を区別)チェックボックスをオフにします。
  9. マッチングカラムとルックアップカラムを選択します。この例では最初の名前です。
  10. 他のパラメーターはデフォルトのままにします。

ジョブを実行

手順

ジョブを保存し、[F6]を押してジョブを実行します。
Brad|Los angeles|0|Brad
Jason|New York|0|Jason
Margaret||0|Margaret
Kourtney|Seattle||
Nicole|Saint-Louis|0|Nicole
John|Denver||

タスクの結果

編集距離が0(最小値と最大値)に設定されているので、メインフローとルックアップ(参照)フローとの間の規則的な結合の結果が出力に表示されるため、値0の完全マッチングのみが表示されます。

よりわかりやすいサンプルとして、最小距離が1で最大距離が2の場合を挙げます。 シナリオをご覧ください。

ファーストネーム内のLevenshtein距離1または2のチェック

このシナリオは、上記のシナリオに基づいています。tFuzzyMatchコンポーネントの最小距離と最大距離の設定のみが変更され、表示される出力が変更されます。

手順

  1. tFuzzyMatch[Component] (コンポーネント)ビューで、最小距離を0から1に変更します。これは正確なマッチングを直ちに除外します(距離は0になります)。
  2. 最大距離も2に変更してください。最大2文字の不一致を示すすべてのマッチングするエントリーが出力されます。
    その他の変更は必要ありません。
  3. 複数の参照がメインフローエントリーとマッチングすることもあるので、[Matching item separator] (項目セパレータのマッチング)を定義します。
  4. 新しいジョブを保存し、[F6]を押して実行します。
    FirstName|Name||
    Brad|Los angeles||
    Jason|New York|2|Jon
    Margaret|||
    Kourtney|Seattle|1|Courtney
    Nicole|Saint-Louis||
    John|Denver|1|Jon
    編集距離が2に設定されているため、メインフローの一部のエントリーは複数の参照エントリーとマッチングします。

タスクの結果

次のシナリオで説明するように、メタフォンという別のメソッドを使用して、メインフローと参照間の距離を評価することもできます。

ファーストネームのメタフォニック距離のチェック

手順

  1. [Matching type ] (マッチングタイプ)[Metaphone] (メタフォン)に変更します。
    マッチング方法は基準の音韻との不一致に基づいているため、設定する最小距離も最大距離もありません。
  2. ジョブを保存し、[F6]を押します。マッチングする可能性のある音声値が表示されます。
    Brad|Los angeles|BRT|Brad
    Jason|New York|JSN|Jason
    Margaret||MRKR|Margaret
    Kourtney|Seattle|KRTN|Courtney
    Nicole|Saint-Louis|NKL|Nicole
    John|Denver|JN|Jon

異なるマッチング方法を使用して4つのカラムを比較し、発生した重複を収集

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

このシナリオでは、LevenshteinのマッチングタイプとDouble Metaphoneのマッチングタイプに基づいて、定義済みの一部のカラムから一意のエントリーと重複エントリーをすべて2つの別々のファイルで収集する4コンポーネントのジョブについて説明します。

このサンプルの入力ファイルは、次のようになります。

ID;Status;FirstName;Email;City;Initial;ZipCode
1;married;Paul;pnewman@comp.com;New York;P.N.;55677
2;single;Raul;rnewman@comp.com;New Ork;R.N.;55677
3;single;Mary;mnewman@comp.com;Chicago;M.N;66898

ジョブを設定

手順

  1. [Palette] (パレット)から、tFileInputDelimitedtFuzzyUniqRow、および2つのtFileOutputExcelコンポーネントをデザインワークスペースにドロップします。
  2. [Main] (メイン)リンクを使用してtFileInputDelimitedtFuzzyUniqRowに接続し、1つの固有リンクの[Uniques] (一意値)ともう1つは[Duplicates] (重複値)リンクを使用して、tFuzzyUniqRowtFileOutputExcelコンポーネントに接続します。

コンポーネントの設定

手順

  1. tFileInputDelimitedをダブルクリックして[Basic settings] (基本設定)ビューを開き、プロパティを定義します。
  2. [File name] (ファイル名)の横にある[...]ボタンをクリックし、入力データを保持するファイルを参照します。
  3. 必要に応じて、ヘッダーフッター、および制限を設定します。
    このシナリオでは、[Header] (ヘッダー)を1に設定します。フッターと処理された行数の制限は設定されていません。
  4. [Edit schema] (スキーマを編集)をクリックして、ソース区切りファイルのデータストラクチャーを記述できるダイアログボックスを開きます。
    このシナリオでは、ソーススキーマは、IDStatusFirstNameEmailCityInitial、およびZipCodeの各カラムで構成されます。
  5. tFuzzyUniqRowをダブルクリックして[Basic settings] (基本設定)ビューを表示し、プロパティを定義します。
  6. [Key Attribute] (キー属性)カラムで、定義されているマッチングメソッド、名前Eメール都市郵便番号を使用してチェックするカラムの横にあるチェックボックスをこのサンプルで選択します。