Abilitare Change Data Capture per le connessioni di origine nell’API
Utilizza l’acquisizione dei dati di modifica nelle origini Adobe Experience Platform per mantenere sincronizzati i sistemi di origine e di destinazione quasi in tempo reale.
Experience Platform attualmente supporta copia dati incrementale, che trasferisce periodicamente i record appena creati o aggiornati dal sistema di origine ai set di dati acquisiti. Questo metodo si basa su una colonna timestamp per tenere traccia delle modifiche, ma non rileva le eliminazioni, il che può causare incongruenze nei dati nel tempo.
Cambia invece acquisisce ed applica inserti, aggiornamenti ed eliminazioni quasi in tempo reale. Questo monitoraggio completo delle modifiche assicura che i set di dati rimangano completamente allineati al sistema di origine e fornisce una cronologia completa delle modifiche, oltre a ciò che supporta la copia incrementale. Tuttavia, le operazioni di eliminazione richiedono una considerazione particolare in quanto influiscono su tutte le applicazioni che utilizzano i set di dati di destinazione.
La modifica dell'acquisizione dati in Experience Platform richiede Data Mirror con schemi basati su modello (detti anche schemi relazionali). È possibile fornire i dati di modifica a Data Mirror in due modi:
- Rilevamento delle modifiche manuale: includi una colonna
_change_request_type
nel set di dati per le origini che non generano in modo nativo record di acquisizione dati di modifica - Esportazioni native di acquisizione dati di modifica: utilizza i record di acquisizione dati di modifica esportati direttamente dal sistema di origine
Entrambi gli approcci richiedono Data Mirror con schemi basati su modelli per preservare le relazioni e applicare l’univocità.
Data Mirror con schemi basati su modelli
Data Mirror utilizza schemi basati su modelli per estendere l’acquisizione dei dati sulle modifiche e abilitare funzionalità avanzate di sincronizzazione del database. Per una panoramica di Data Mirror, vedere Panoramica di Data Mirror.
Gli schemi basati su modelli estendono Experience Platform per applicare l’univocità della chiave primaria, tenere traccia delle modifiche a livello di riga e definire relazioni a livello di schema. Con l’acquisizione dei dati di modifica, vengono applicati inserti, aggiornamenti ed eliminazioni direttamente nel data lake, riducendo la necessità di estrarre, trasformare, caricare (ETL) o riconciliazione manuale.
Per ulteriori informazioni, vedere Panoramica sugli schemi basati su modelli.
Requisiti dello schema basati su modello per l'acquisizione dei dati di modifica
Prima di utilizzare uno schema basato su modello con l’acquisizione dei dati di modifica, configura i seguenti identificatori:
- Identificare in modo univoco ogni record con una chiave primaria.
- Applica gli aggiornamenti in sequenza utilizzando un identificatore di versione.
- Per gli schemi di serie temporali, aggiungi un identificatore di marca temporale.
Gestione colonne di controllo control-column-handling
Utilizzare la colonna _change_request_type
per specificare la modalità di elaborazione di ogni riga:
u
— upsert (impostazione predefinita se la colonna è assente)d
— elimina
Questa colonna viene valutata solo durante l’acquisizione e non viene memorizzata o mappata su campi XDM.
Flusso di lavoro workflow
Per abilitare l’acquisizione dei dati di modifica con uno schema basato su modello:
-
Crea uno schema basato su modello.
-
Aggiungi i descrittori richiesti:
- Descrittore della chiave primaria
- Descrittore versione
- Descrittore marca temporale (solo serie temporali)
-
Crea un set di dati dallo schema e abilita l’acquisizione dei dati di modifica.
-
Solo per l’acquisizione basata su file: se devi specificare esplicitamente le operazioni di eliminazione, aggiungi la colonna
_change_request_type
ai file di origine. Le configurazioni di esportazione CDC gestiscono automaticamente questa situazione per le origini del database. -
Completa l’impostazione della connessione di origine per abilitare l’acquisizione.
_change_request_type
è necessaria solo per le origini basate su file (Amazon S3, Azure Blob, Google Cloud Storage, SFTP) quando si desidera controllare in modo esplicito il comportamento di modifica a livello di riga. Per le origini di database con funzionalità CDC native, le operazioni di modifica vengono gestite automaticamente tramite le configurazioni di esportazione CDC. Per impostazione predefinita, l’acquisizione basata su file prevede l’esecuzione di operazioni upsert. È sufficiente aggiungere questa colonna per specificare le operazioni di eliminazione nei caricamenti di file.Fornitura di dati di modifica per origini basate su file file-based-sources
Per le origini basate su file (Amazon S3, Azure Blob, Google Cloud Storage e SFTP), includere una colonna _change_request_type
nei file.
Utilizza i valori _change_request_type
definiti nella sezione precedente Gestione colonna di controllo.
_change_request_type
con u
(upsert) o d
(delete) per convalidare le funzionalità di rilevamento delle modifiche. Ad esempio, la funzionalità Campagne orchestrate di Adobe Journey Optimizer richiede questa colonna per abilitare l'interruttore "Campagna orchestrata" e consentire la selezione del set di dati per il targeting. I requisiti di convalida specifici dell’applicazione possono variare.Segui i passaggi specifici per l’origine riportati di seguito.
Origini archiviazione cloud cloud-storage-sources
Abilita l’acquisizione dei dati di modifica per le origini di archiviazione cloud seguendo questi passaggi:
-
Creare una connessione di base per l'origine:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 Origine Guida alla connessione di base Amazon S3 Crea una Amazon S3 connessione di base Azure Blob Crea una Azure Blob connessione di base Google Cloud Storage Crea una Google Cloud Storage connessione di base SFTP Crea una SFTP connessione di base -
Creare una connessione di origine per un'archiviazione cloud.
Tutte le origini di archiviazione cloud utilizzano lo stesso formato di colonna _change_request_type
descritto nella sezione Origini basate su file precedente.
Origini del database database-sources
Azure Databricks
Per utilizzare Change Data Capture con Azure Databricks, è necessario abilitare change Data Feed nelle tabelle di origine e configurare Data Mirror con schemi basati su modelli in Experience Platform.
Utilizzare i seguenti comandi per abilitare il feed di dati di modifica nelle tabelle:
Nuova tabella
Per applicare il feed di dati di modifica a una nuova tabella, è necessario impostare la proprietà della tabella delta.enableChangeDataFeed
su TRUE
nel comando CREATE TABLE
.
CREATE TABLE student (id INT, name STRING, age INT) TBLPROPERTIES (delta.enableChangeDataFeed = true)
Tabella esistente
Per applicare il feed di dati di modifica a una tabella esistente, è necessario impostare la proprietà della tabella delta.enableChangeDataFeed
su TRUE
nel comando ALTER TABLE
.
ALTER TABLE myDeltaTable SET TBLPROPERTIES (delta.enableChangeDataFeed = true)
Tutte le nuove tabelle
Per applicare il feed dati di modifica a tutte le nuove tabelle, è necessario impostare le proprietà predefinite su TRUE
.
set spark.databricks.delta.properties.defaults.enableChangeDataFeed = true;
Per ulteriori informazioni, leggere la Azure Databricks guida sull'abilitazione del feed di dati di modifica.
Per i passaggi su come abilitare l'acquisizione dei dati di modifica per la connessione di origine Azure Databricks, leggere la seguente documentazione:
Data Landing Zone
Per utilizzare Change Data Capture con Data Landing Zone, è necessario abilitare change Data Feed nelle tabelle di origine e configurare Data Mirror con schemi basati su modelli in Experience Platform.
Per i passaggi su come abilitare l'acquisizione dei dati di modifica per la connessione di origine Data Landing Zone, leggere la seguente documentazione:
Google BigQuery
Per utilizzare Change Data Capture con Google BigQuery, è necessario abilitare la cronologia delle modifiche nelle tabelle di origine e configurare Data Mirror con schemi basati su modelli in Experience Platform.
Per abilitare la cronologia delle modifiche nella connessione di origine Google BigQuery, passare alla pagina Google BigQuery nella console Google Cloud e impostare enable_change_history
su TRUE
. Questa proprietà abilita la cronologia delle modifiche per la tabella dati.
Per ulteriori informazioni, leggere la guida sulle istruzioni del linguaggio di definizione dei dati in GoogleSQL.
Per i passaggi su come abilitare l'acquisizione dei dati di modifica per la connessione di origine Google BigQuery, leggere la seguente documentazione:
Snowflake
Per utilizzare Change Data Capture con Snowflake, è necessario abilitare rilevamento modifiche nelle tabelle di origine e configurare Data Mirror con schemi basati su modelli in Experience Platform.
In Snowflake, abilitare il rilevamento delle modifiche utilizzando ALTER TABLE
e impostando CHANGE_TRACKING
su TRUE
.
ALTER TABLE mytable SET CHANGE_TRACKING = TRUE
Per ulteriori informazioni, leggere la Snowflake guida sull'utilizzo della clausola changes.
Per i passaggi su come abilitare l'acquisizione dei dati di modifica per la connessione di origine Snowflake, leggere la seguente documentazione: