在API中啟用來源連線的變更資料擷取

在Adobe Experience Platform來源中使用變更資料擷取,讓您的來源和目的地系統近乎即時保持同步。

Experience Platform目前支援​增量資料副本,此副本會定期將來源系統新建立或更新後的記錄傳輸至擷取的資料集。 此方法依賴​ 時間戳記資料行 ​來追蹤變更,但不會偵測到刪除,而可能導致資料在一段時間內不一致。

相對地,變更資料擷取會擷取並近乎即時地套用插入、更新及刪除。 此完整的變更追蹤功能可確保資料集與來源系統保持完全一致,並提供完整的變更記錄,超出增量副本所支援的範圍。 不過,刪除作業需要特別考量,因為它們會影響使用目標資料集的所有應用程式。

Experience Platform中的變更資料擷取需要​ Data Mirror ​搭配關聯式結構描述。 您可以透過兩種方式將變更資料提供給Data Mirror:

兩種方法都需要使用關聯式結構的Data Mirror來保留關係並強制實施唯一性。

Data Mirror搭配關聯式結構描述

AVAILABILITY
Adobe Journey Optimizer 協調的行銷活動​授權持有人可使用Data Mirror和關聯式結構描述。 視您的授權和功能啟用而定,它們也可作為Customer Journey Analytics使用者的​ 有限版本 ​提供。 請聯絡您的Adobe代表以取得存取權。
NOTE
關聯式結構描述先前在舊版Adobe Experience Platform檔案中稱為模型式結構描述。 其功能和變更資料擷取功能保持不變。
NOTE
協調的行銷活動使用者:使用本檔案中說明的Data Mirror功能,使用維護參考完整性的客戶資料。 即使您的來源未使用變更資料擷取格式,Data Mirror仍支援關聯式功能,例如主索引鍵強制、記錄層級更新插入和結構描述關係。 這些功能可確保跨連線資料集建立一致且可靠的資料模型。

Data Mirror使用關聯式結構描述來擴充變更資料擷取及啟用進階資料庫同步功能。 如需Data Mirror的概觀,請參閱Data Mirror概觀

關聯式結構描述可擴充Experience Platform以強制執行主鍵唯一性、追蹤列層級變更及定義結構描述層級關係。 透過變更資料擷取,它們直接在資料湖中套用插入、更新及刪除,減少擷取、轉換、載入(ETL)或手動調解的需求。

如需詳細資訊,請參閱關聯式結構描述概觀

變更資料擷取的關聯式結構描述需求

在將關聯式綱要用於變更資料擷取之前,請設定下列識別碼:

  • 以主索引鍵唯一識別每個記錄。
  • 使用版本識別碼依序套用更新。
  • 對於時間序列結構描述,請新增時間戳記識別碼。

控制欄處理 control-column-handling

使用_change_request_type欄指定每個資料列的處理方式:

  • u — upsert (如果欄不存在則為預設)
  • d — 刪除

此欄僅會在擷取期間評估,不會儲存或對應至XDM欄位。

工作流程 workflow

若要啟用關聯式綱要的變更資料擷取:

  1. 建立關聯式結構描述。

  2. 新增必要的描述項:

  3. 從結構描述建立資料集,並啟用變更資料擷取。

  4. 僅適用於檔案式內嵌:如果您需要明確指定刪除作業,請將_change_request_type欄新增至您的來源檔案。 CDC匯出設定會自動針對資料庫來源處理此動作。

  5. 完成來源連線設定以啟用內嵌。

NOTE
只有當您想要明確控制列層級變更行為時,檔案型來源(Amazon S3、Azure Blob、Google雲端儲存空間、SFTP)才需要_change_request_type欄。 對於具有原生CDC功能的資料庫來源,變更操作會透過CDC匯出設定自動處理。 根據預設,檔案式擷取會假設更新插入作業 — 如果您想要在檔案上傳中指定刪除作業,則只需新增此欄。
IMPORTANT
需要資料刪除計畫。 所有使用關聯式結構描述的應用程式都必須先瞭解刪除的含義,才能實作變更資料擷取。 規劃刪除作業如何影響相關資料集、法規遵循需求和下游流程。 如需指引,請參閱資料衛生考量事項

提供檔案型來源的變更資料 file-based-sources

IMPORTANT
檔案式變更資料擷取需要搭配關聯式結構描述的Data Mirror。 在依照下列檔案格式設定步驟進行之前,請確定您已完成本檔案先前說明的Data Mirror設定工作流程。 以下步驟說明如何格式化資料檔案以包含Data Mirror將處理的變更追蹤資訊。

針對檔案型來源(Amazon S3、Azure Blob、Google Cloud Storage和SFTP),請在您的檔案中包含_change_request_type欄。

使用上面_change_request_type控制項資料行處理區段中定義的值。

IMPORTANT
僅針對​檔案型來源,某些應用程式可能需要具有_change_request_type (更新插入)或u (刪除)的d資料行,以驗證變更追蹤功能。 例如,Adobe Journey Optimizer的​ 協調行銷活動 ​功能需要此欄才能啟用「協調行銷活動」切換功能,並允許選取資料集來進行目標定位。 應用程式特定的驗證需求可能有所不同。

請遵循下列來源專屬步驟。

雲端儲存空間來源 cloud-storage-sources

請依照下列步驟啟用雲端儲存空間來源的變更資料擷取:

  1. 為您的來源建立基礎連線:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
    來源 Base Connection指南
    Amazon S3 建立 Amazon S3 基本連線
    Azure Blob 建立 Azure Blob 基本連線
    Google Cloud Storage 建立 Google Cloud Storage 基本連線
    SFTP 建立 SFTP 基本連線
  2. 為雲端儲存空間建立來源連線

所有雲端儲存空間來源都使用上述_change_request_type檔案型來源一節中所述的相同欄格式。

資料庫來源 database-sources

Azure Databricks

若要搭配Azure Databricks使用變更資料擷取,您必須在來源資料表中啟用​變更資料摘要,並在Experience Platform中透過relational schema設定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來源連線啟用變更資料擷取的步驟:

Data Landing Zone

若要搭配Data Landing Zone使用變更資料擷取,您必須在來源資料表中啟用​變更資料摘要,並在Experience Platform中透過relational schema設定Data Mirror。

請閱讀下列檔案,以瞭解如何為Data Landing Zone來源連線啟用變更資料擷取的步驟:

Google BigQuery

若要搭配Google BigQuery使用變更資料擷取,您必須在來源表格中啟用變更歷史記錄,並在Experience Platform中以relational schema設定Data Mirror。

若要在您的Google BigQuery來源連線中啟用變更記錄,請瀏覽至Google BigQuery主控台中的Google Cloud頁面,並將enable_change_history設定為TRUE。 此屬性可啟用資料表變更記錄。

如需詳細資訊,請閱讀​ GoogleSQL中資料定義語言陳述式的指南。

請閱讀下列檔案,以瞭解如何為Google BigQuery來源連線啟用變更資料擷取的步驟:

Snowflake

若要搭配Snowflake使用變更資料擷取,您必須在來源資料表中啟用​變更追蹤,並在Experience Platform中透過relational schema設定Data Mirror。

在Snowflake中,使用ALTER TABLE並設定CHANGE_TRACKINGTRUE來啟用變更追蹤。

ALTER TABLE mytable SET CHANGE_TRACKING = TRUE

如需詳細資訊,請閱讀使用changes子句Snowflake 的指南。

請閱讀下列檔案,以瞭解如何為Snowflake來源連線啟用變更資料擷取的步驟:

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089