API でのソース接続の change data capture の有効化
Adobe Experience Platform ソースでチェンジ・データ・キャプチャを使用して、ほぼリアルタイムでソース・システムとデスティネーション・システムの同期を維持します。
Experience Platformは現在、増分データコピー をサポートしています。このコピーは、新しく作成または更新されたレコードを、ソースシステムから取り込んだデータセットに定期的に転送します。 この方法は、変更を追跡するために timestamp 列 に依存しますが、時間の経過に伴うデータの不整合を引き起こす可能性がある削除は検出しません。
これに対し、チェンジ・データ・キャプチャは、ほぼリアルタイムで挿入、更新、削除をキャプチャして適用します。 この包括的な変更の履歴管理により、データセットがソース・システムと完全に整合した状態で維持され、差分コピーのサポート以外の完全な変更履歴が提供されます。 ただし、削除操作はターゲットデータセットを使用するすべてのアプリケーションに影響を与えるので、特別な考慮が必要です。
Experience Platformでのチェンジ データ キャプチャには、Data Mirror ( リレーショナル スキーマ )が必要です。 Data Mirrorに変更データを提供するには、次の 2 つの方法があります。
- 手動の変更トラッキング:変更データキャプチャレコードをネイティブに生成しないソースのデータセットに
_change_request_typeの列を含めます - ネイティブ変更データ・キャプチャのエクスポート:ソース・システムから直接書き出された変更データ・キャプチャ・レコードを使用します
どちらのアプローチでも、関係を保持し一意性を確保するには、リレーショナルスキーマを使用したData Mirrorが必要です。
リレーショナルスキーマを使用したData Mirror
Data Mirrorでは、リレーショナルスキーマを使用してチェンジ・データ・キャプチャを拡張し、高度なデータベース同期機能を有効にします。 Data Mirrorの概要については、Data Mirrorの概要 を参照してください。
リレーショナルスキーマは、Experience Platformを拡張して、プライマリキーの一意性の確保、行レベルの変更の追跡、スキーマレベルの関係の定義を行います。 チェンジ・データ・キャプチャでは、挿入、更新、削除をデータ・レイク内で直接適用し、抽出、変換、ロード(ETL)または手動の紐付けの必要性を減らします。
詳しくは、 リレーショナルスキーマの概要 を参照してください。
変更データ取得のリレーショナル・スキーマ要件
変更データ・キャプチャでリレーショナル・スキーマを使用する前に、次の識別子を設定します。
- 各レコードをプライマリキーで一意に識別します。
- バージョン識別子を使用して、更新を順番に適用します。
- 時系列スキーマの場合は、タイムスタンプ識別子を追加します。
列の処理を制御 control-column-handling
_change_request_type の列を使用して、各行の処理方法を指定します。
u— アップサート(列がない場合はデフォルト)d– 削除
この列は取り込み時にのみ評価され、XDM フィールドには保存もマッピングもされません。
ワークフロー workflow
リレーショナルスキーマを使用してチェンジ・データ・キャプチャを有効にする手順は、次のとおりです。
-
リレーショナルスキーマを作成します。
-
必要な記述子を追加します。
- プライマリキー記述子
- バージョン記述子
- タイムスタンプ記述子 (時系列のみ)
-
スキーマからデータセットを作成し、変更データキャプチャを有効にします。
-
ファイルベースの取り込みのみ:削除操作を明示的に指定する必要がある場合は、ソースファイルに
_change_request_type列を追加します。 CDC の書き出し設定では、データベースソースに対してこれを自動的に処理します。 -
ソース接続の設定を完了して取り込みを有効にします。
_change_request_type 列は、行レベルの変更動作を明示的に制御する場合に、ファイルベースのソース(Amazon S3、Azure Blob、Google Cloud Storage、SFTP)にのみ必要です。 ネイティブの CDC 機能を持つデータベース・ソースの場合、変更操作は CDC エクスポート構成を通じて自動的に処理されます。 ファイルベースの取り込みは、デフォルトでアップサート操作を想定します。ファイルアップロードで削除操作を指定する場合にのみ、この列を追加する必要があります。ファイルベースのソースの変更データの提供 file-based-sources
ファイルベースのソース(Amazon S3、Azure Blob、Google Cloud Storage および SFTP)の場合は、ファイルに _change_request_type 列を含めます。
上記の _change_request_type コントロール列の処理 の節で定義した の値を使用します。
_change_request_type (アップサート)または u (削除)を含む d 列が必要になる場合があります。 例えば、Adobe Journey Optimizerの オーケストレートキャンペーン 機能では、「オーケストレートキャンペーン」切替スイッチを有効にし、ターゲティング用のデータセット選択を許可するために、この列が必要です。 アプリケーション固有の検証要件は異なる場合があります。次のソース固有の手順に従います。
クラウドストレージソース cloud-storage-sources
次の手順に従って、クラウドストレージソースの CHANGE DATA CAPTURE を有効にします。
-
ソースのベース接続を作成します。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 ソース ベース接続ガイド Amazon S3 ベ Amazon S3 ス接続の作成 Azure Blob ベ Azure Blob ス接続の作成 Google Cloud Storage ベ Google Cloud Storage ス接続の作成 SFTP ベ SFTP ス接続の作成
すべてのクラウドストレージソースは、上記の _change_request_type ファイルベースのソース の節で説明したのと同じ 列形式を使用します。
データベースソース database-sources
Azure Databricks
Azure Databricks でチェンジ・データ・キャプチャを使用するには、ソース・テーブルで チェンジ・データ・フィード を使用可能にし、Experience PlatformでData Mirrorをリレーショナル・スキーマとともに構成する必要があります。
以下のコマンドを使用して、テーブルで変更データフィードを有効にします。
新規テーブル
変更データフィードを新しいテーブルに適用するには、delta.enableChangeDataFeed コマンドでテーブルプロパティ TRUE を CREATE TABLE に設定する必要があります。
CREATE TABLE student (id INT, name STRING, age INT) TBLPROPERTIES (delta.enableChangeDataFeed = true)
既存のテーブル
変更データフィードを既存のテーブルに適用するには、delta.enableChangeDataFeed コマンドでテーブルプロパティ TRUE を ALTER TABLE に設定する必要があります。
ALTER TABLE myDeltaTable SET TBLPROPERTIES (delta.enableChangeDataFeed = true)
すべての新規テーブル
すべての新規テーブルに変更データフィードを適用するには、デフォルトのプロパティを TRUE に設定する必要があります。
set spark.databricks.delta.properties.defaults.enableChangeDataFeed = true;
詳しくは、Azure Databricks 変更データフィードの有効化に関するガイド を参照してください。
Azure Databricks ソース接続の change data capture を有効にする手順については、次のドキュメントを参照してください。
Data Landing Zone
Data Landing Zone でチェンジ・データ・キャプチャを使用するには、ソース・テーブルで チェンジ・データ・フィード を使用可能にし、Experience PlatformでData Mirrorをリレーショナル・スキーマとともに構成する必要があります。
Data Landing Zone ソース接続の change data capture を有効にする手順については、次のドキュメントを参照してください。
Google BigQuery
Google BigQuery でチェンジ・データ・キャプチャを使用するには、ソース・テーブルで変更履歴を使用可能にし、Experience PlatformでData Mirrorをリレーショナル・スキーマとともに構成する必要があります。
Google BigQuery ソース接続の変更履歴を有効にするには、Google BigQuery コンソールで Google Cloud ページに移動し、enable_change_history を TRUE に設定します。 このプロパティは、データ テーブルの変更履歴を有効にします。
詳しくは、 のデータ定義言語ステートメント GoogleSQL に関するガイドを参照してください。
Google BigQuery ソース接続の change data capture を有効にする手順については、次のドキュメントを参照してください。
Snowflake
Snowflake でチェンジ・データ・キャプチャを使用するには、ソース・テーブルで チェンジ・トラッキング を使用可能にし、Experience PlatformでData Mirrorをリレーショナル・スキーマとともに構成する必要があります。
Snowflake では、ALTER TABLE を使用し、CHANGE_TRACKING を TRUE に設定して、変更の追跡を有効にします。
ALTER TABLE mytable SET CHANGE_TRACKING = TRUE
詳しくは、Snowflake changes 句の使用に関するガイド を参照してください。
Snowflake ソース接続の change data capture を有効にする手順については、次のドキュメントを参照してください。