Activer la capture de données de modification pour les connexions source dans l’API
Utilisez la capture de données de modification dans les sources Adobe Experience Platform pour que vos systèmes source et de destination restent synchronisés en temps quasi réel.
Experience Platform prend actuellement en charge la copie incrémentielle de données, qui transfère régulièrement les enregistrements nouvellement créés ou mis à jour du système source vers les jeux de données ingérés. Cette méthode repose sur une colonne d’horodatage pour suivre les modifications, mais elle ne détecte pas les suppressions, ce qui peut entraîner des incohérences des données au fil du temps.
En revanche, la capture de données de modification capture et applique les insertions, les mises à jour et les suppressions en temps quasi réel. Ce suivi complet des modifications garantit que les jeux de données restent entièrement alignés sur le système source et fournit un historique complet des modifications, au-delà de ce que la copie incrémentielle prend en charge. Toutefois, les opérations de suppression nécessitent une attention particulière, car elles affectent toutes les applications utilisant les jeux de données cibles.
La capture de données modifiées dans Experience Platform nécessite Data Mirror avec des schémas basés sur des modèles (également appelés schémas relationnels). Vous pouvez fournir des données de modification à Data Mirror de deux manières :
- Suivi manuel des modifications : incluez une colonne
_change_request_type
dans votre jeu de données pour les sources qui ne génèrent pas d’enregistrements de capture de données de modification de manière native - Exportations natives de capture de données de modification : utilisez les enregistrements de capture de données de modification exportés directement depuis votre système source
Les deux approches nécessitent Data Mirror avec des schémas basés sur des modèles pour préserver les relations et appliquer l’unicité.
Data Mirror avec des schémas basés sur des modèles
Data Mirror utilise des schémas basés sur des modèles pour étendre la capture de données de modification et activer des fonctionnalités avancées de synchronisation de base de données. Pour obtenir un aperçu de Data Mirror, consultez Présentation de Data Mirror.
Les schémas basés sur des modèles étendent Experience Platform pour appliquer l’unicité des clés primaires, suivre les modifications au niveau des lignes et définir les relations au niveau du schéma. Avec la capture de données de modification, ils appliquent les insertions, les mises à jour et les suppressions directement dans le lac de données, réduisant ainsi le besoin d'extraire, de transformer, de charger (ETL) ou de réconciliation manuelle.
Consultez Présentation des schémas basés sur des modèlespour plus d’informations.
Schéma basé sur des modèles requis pour la capture de données de modification
Avant d’utiliser un schéma basé sur un modèle avec capture de données de modification, configurez les identifiants suivants :
- Identifier de manière unique chaque enregistrement avec une clé primaire.
- Appliquez les mises à jour en séquence à l’aide d’un identifiant de version.
- Pour les schémas de série temporelle, ajoutez un identifiant d’horodatage.
Gestion des colonnes de contrôle control-column-handling
Utilisez la colonne _change_request_type
pour spécifier le mode de traitement de chaque ligne :
u
— upsert (par défaut si la colonne est absente)d
— supprimer
Cette colonne est évaluée uniquement lors de l’ingestion et n’est ni stockée ni mappée à des champs XDM.
Workflow workflow
Pour activer la capture de données de modification avec un schéma basé sur un modèle :
-
Créez un schéma basé sur un modèle.
-
Ajoutez les descripteurs requis :
- descripteur de clé de Principal
- Descripteur de version
- Descripteur d’horodatage (série temporelle uniquement)
-
Créez un jeu de données à partir du schéma et activez la capture de données de modification.
-
Pour l’ingestion basée sur des fichiers uniquement : ajoutez la colonne
_change_request_type
à vos fichiers sources si vous devez spécifier explicitement les opérations de suppression. Les configurations d’exportation CDC le gèrent automatiquement pour les sources de base de données. -
Terminez la configuration de la connexion source pour activer l’ingestion.
_change_request_type
n’est nécessaire que pour les sources basées sur des fichiers (Amazon S3, Azure Blob, Google Cloud Storage, SFTP) lorsque vous souhaitez contrôler explicitement le comportement de changement au niveau des lignes. Pour les sources de base de données disposant de fonctionnalités CDC natives, les opérations de modification sont gérées automatiquement via les configurations d’exportation CDC. L’ingestion basée sur des fichiers suppose des opérations d’upsert par défaut. Il vous suffit d’ajouter cette colonne si vous souhaitez spécifier des opérations de suppression dans vos chargements de fichiers.Fournir des données de modification pour les sources basées sur des fichiers file-based-sources
Pour les sources basées sur des fichiers (Amazon S3, Azure Blob, Google Cloud Storage et SFTP), incluez une colonne _change_request_type
dans vos fichiers.
Utilisez les valeurs _change_request_type
définies dans la section Gestion des colonnes de contrôle ci-dessus.
_change_request_type
avec u
(upsert) ou d
(delete) pour valider les fonctionnalités de suivi des modifications. Par exemple, la fonction Adobe Journey Optimizer Campagnes orchestrées nécessite cette colonne pour activer le bouton « Campagne orchestrée » et autoriser la sélection du jeu de données pour le ciblage. Les exigences de validation spécifiques à l’application peuvent varier.Suivez les étapes spécifiques à la source ci-dessous.
Sources d’espace de stockage cloud-storage-sources
Activez la capture de données de modification pour les sources d’espace de stockage en procédant comme suit :
-
Créez une connexion de base pour votre source :
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 Source Guide de connexion de base Amazon S3 Créer une connexion Amazon S3 base Azure Blob Créer une connexion Azure Blob base Google Cloud Storage Créer une connexion Google Cloud Storage base SFTP Créer une connexion SFTP base -
Créer une connexion source pour un espace de stockage dans le cloud.
Toutes les sources d’espace de stockage utilisent le même format de colonne _change_request_type
décrit dans la section Sources basées sur des fichiers ci-dessus.
Sources de base de données database-sources
Azure Databricks
Pour utiliser la capture de données de modification avec Azure Databricks, vous devez à la fois activer modifier le flux de données dans vos tables source et configurer Data Mirror avec des schémas basés sur des modèles dans Experience Platform.
Utilisez les commandes suivantes pour activer la modification du flux de données sur vos tableaux :
Nouveau tableau
Pour appliquer le flux de données de modification à un nouveau tableau, vous devez définir la propriété de tableau delta.enableChangeDataFeed
sur TRUE
dans la commande CREATE TABLE
.
CREATE TABLE student (id INT, name STRING, age INT) TBLPROPERTIES (delta.enableChangeDataFeed = true)
Table existante
Pour appliquer le flux de données de modification à un tableau existant, vous devez définir la propriété de tableau delta.enableChangeDataFeed
sur TRUE
dans la commande ALTER TABLE
.
ALTER TABLE myDeltaTable SET TBLPROPERTIES (delta.enableChangeDataFeed = true)
Toutes les nouvelles tables
Pour appliquer le flux de données de modification à tous les nouveaux tableaux, vous devez définir vos propriétés par défaut sur TRUE
.
set spark.databricks.delta.properties.defaults.enableChangeDataFeed = true;
Pour plus d’informations, consultez le guide Azure Databricks sur l’activation du flux de données de modification.
Lisez la documentation suivante pour savoir comment activer la capture de données de modification pour votre connexion source Azure Databricks :
Data Landing Zone
Pour utiliser la capture de données de modification avec Data Landing Zone, vous devez à la fois activer modifier le flux de données dans vos tables source et configurer Data Mirror avec des schémas basés sur des modèles dans Experience Platform.
Lisez la documentation suivante pour savoir comment activer la capture de données de modification pour votre connexion source Data Landing Zone :
Google BigQuery
Pour utiliser la capture de données de modification avec Google BigQuery, vous devez activer l’historique des modifications dans vos tables source et configurer Data Mirror avec des schémas basés sur des modèles dans Experience Platform.
Pour activer l’historique des modifications dans votre connexion source Google BigQuery, accédez à la page Google BigQuery dans la console Google Cloud et définissez enable_change_history
sur TRUE
. Cette propriété active l'historique des modifications de votre tableau de données.
Pour plus d’informations, consultez le guide sur les instructions de langage de définition de données dans GoogleSQL.
Lisez la documentation suivante pour savoir comment activer la capture de données de modification pour votre connexion source Google BigQuery :
Snowflake
Pour utiliser la capture de données de modification avec Snowflake, vous devez activer le suivi des modifications dans vos tables source et configurer Data Mirror avec des schémas basés sur des modèles dans Experience Platform.
Dans Snowflake, activez le suivi des modifications à l’aide de l’ALTER TABLE
et définissez CHANGE_TRACKING
sur TRUE
.
ALTER TABLE mytable SET CHANGE_TRACKING = TRUE
Pour plus d’informations, consultez le guide Snowflake sur l’utilisation de la clause de modification.
Lisez la documentation suivante pour savoir comment activer la capture de données de modification pour votre connexion source Snowflake :