インクリメンタルマッチを検索する。 - AWS Glue

インクリメンタルマッチを検索する。

FindMatches 変換を使用すると、レコードに共通の一意の識別子がなく、正確に一致するフィールドがない場合でも、データセット内の重複レコードまたは一致するレコードを識別できます。検索マッチ変換の最初のリリースでは、単一のデータセット内で一致するレコードが識別されました。データセットに新しいデータを追加する場合、既存のクリーンなデータセットとマージし、マージされた完全なデータセットに対してマッチングを再実行する必要があります。

インクリメンタルマッチング機能を使用すると、既存の一致したデータセットに対するインクリメンタルレコードとの照合が簡単になります。既存の顧客データセットと見込み客のデータを照合するとします。差分一致機能を使用すると、結果を単一のデータベースまたはテーブルにマージすることで、数十万の新規プロスペクトを既存のプロスペクトと顧客の既存のデータベースと照合できる柔軟性が得られます。新規データセットと既存のデータセット間のみ照合を行うことで、差分一致の検索最適化によって計算時間が短縮され、コストも削減されます。

インクリメンタルマッチングの使用法は、チュートリアル: AWS Glue で機械学習変換を作成する で説明されているように、「一致を検索」と似ています。このトピックでは、インクリメンタルマッチングの相違点のみについて説明します。

詳細については、インクリメンタルデータマッチングのブログ記事を参照してください。

インクリメンタルマッチングジョブの実行

次の手順では、次の様に仮定します。

  • 既存のデータセットを first_records テーブルにクロールし、AWS Glue バージョン 2.0の「Find matches」トランスフォームを作成してトレーニングしました。このバージョンが唯一インクリメンタルマッチを AWS Glue サポートしています。

  • ETL 言語は Scala です。Python もサポートされていることに注意してください。

  • 既に生成されたモデルは demo-xform と呼ばれます。

  1. インクリメンタルデータセットを、テーブル second records にクロールする。

  2. AWS Glue コンソールのナビゲーションペインで、[ジョブ] を選択します。

  3. [Add job (ジョブの追加)] を選択し、ウィザードの手順に従い、生成されたスクリプトを使用して ETL Spark ジョブを作成します。変換のプロパティ値として以下を選択します。

    1. 名前で、デモetlを使用する場合。

    2. IAM ロール に、Amazon S3 ソースデータ、ラベリングファイル、および AWS GlueAPI オペレーションへのアクセス許可を持つ IAM ロールを選択します。

    3. [ETL 言語] で、[Scala] を選択します。

    4. [スクリプトファイル名] で、[demo-etl] を選択します。これは Scala スクリプトのファイル名です。

    5. データソースfirst recordsを選択します。選択したデータソースは、機械学習変換のデータソーススキーマと一致する必要があります。

    6. [Transform type (変換タイプ)] で、[Find matching records (一致するレコードの検索)] を選択し、機械学習変換を使用してジョブを作成します。

    7. インクリメンタルマッチングのオプションを選択し、データ・ソースsecond_recordsという名前のテーブルを選択します。

    8. [トランスフォーム] で、ジョブによって使用される機械学習変換である demo-xform-dblp-acm を選択します。

    9. データターゲットにテーブルを作成するか、データカタログのテーブルを使用してデータターゲットを更新するを選択します。

  4. [ジョブを保存してスクリプトを編集する] を選択して、スクリプトエディタページを表示します。

  5. [ジョブの実行] を選択してジョブの実行を開始します。