Mise en place du CDC en mode Trigger

Talend Real-time Big Data Platform Studio Guide utilisateur

EnrichVersion
6.4
EnrichProdName
Talend Real-Time Big Data Platform
task
Qualité et préparation de données
Création et développement
EnrichPlatform
Studio Talend

Les deux sections suivantes vous présentent une approche de la mise en place d'un environnement CDC en mode Trigger dans le Studio Talend : la première étape consiste en la configuration de votre système pour l'utilisation du CDC et la deuxième consiste en l'extraction des changements.

Étapes de configuration du CDC en mode Trigger

Les étapes de configuration suivantes ne sont à mettre en place qu'une seule fois pour un scénario éditeur/souscripteur donné.

Étape 1 : Définir l'éditeur

Pour définir l'éditeur, vous devez :

  1. Configurer une connexion à la base de données dédiée au CDC.

  2. Configurer une connexion à la base de données dans laquelle sont situées les données.

Pour plus d'informations concernant la configuration d'une base de données, consultez Centraliser des métadonnées de base de données.

Note

Si vous travaillez sous MS SQL Server, les deux connexions doivent être sur la même base de données mais dans deux schémas différents.

Étape 2 : Identifier la table source

Pour identifier la table de laquelle capturer les modifications de données, cliquez-droit sur la connexion de la base de données à monitorer pour récupérer le schéma de la table source et charger ce dernier dans le Repository. Dans cet exemple, la table source est person.

Étape 3 : Créer une table souscripteur

Pour configurer la connexion entre le CDC et les données :

  1. Cliquez-droit sur le dossier CDC Foundation de la connexion de la base de données et sélectionnez Create CDC dans le menu contextuel. La fenêtre [Create Change Data Capture] s'ouvre.

  2. Dans la boîte de dialogue [Create Change Data Capture], cliquez sur le bouton [...] du champ Set link Connection pour sélectionner la connexion à la base de données dédiée au CDC.

    Notez que pour la base de données, comme Oracle, qui supporte également d'autres modes de CDC, vous devez vous assurer de sélectionner Trigger mode afin de capturer les modifications de données dans cette étape.

  3. Cliquez sur Create Subscriber. La boîte de dialogue [Create Subscriber and Execute SQL Script] s'ouvre.

  4. Cliquez sur Execute pour exécuter le script affiché puis sur Close pour fermer la boîte de dialogue [Create Subscriber and Execute SQL Script].

  5. Cliquez sur Finish dans la boîte de dialogue [Create Change Data Capture].

    Dans le dossier CDC Foundation, la connexion à la base de données CDC et le schéma de la table des souscripteurs s'affichent.

Étape 4 : Souscrire à la table source et activer la souscription

Vous devez préciser à quelle table le souscripteur veut souscrire, puis activer son inscription.

  1. Cliquez-droit sur le schéma correspondant à la table source et sélectionnez add CDC. La boîte de dialogue [Create Subscriber and Execute SQL Script] apparaît.

    Avertissement

    La table source à monitorer doit comporter une clé primaire afin que le système CDC puisse identifier sur quelle ligne les changements ont eu lieu. Vous ne pourrez pas mettre en place l'environnement CDC si le schéma de votre table source ne contient aucune clé primaire.

    Note

    Pour les bases de données Oracle, le système CDC crée un alias pour la ou les table(s) source qu'il monitore. Cela permet d'éviter les problèmes de longueur des identificateurs lors de la création de la table des changements et de sa vue associée. Pour les systèmes CDC déjà en place, le nom des tables est conservé.

  2. Dans la boîte de dialogue [Create Subscriber and Execute SQL Script], cochez le(s) événement(s) à surveiller : Insert pour les insertions, Update pour les mises à jour, et Delete pour les suppressions.

  3. Cliquez sur Execute pour exécuter le script affiché puis sur Close pour fermer la boîte de dialogue.

    Dans le dossier CDC Foundation, les schémas de la table des changements et de la vue associée s'affichent.

  4. Pour voir les changements de données apportés à la table source, cliquez-droit sur la table correspondante dans le dossier Table schemas et sélectionnez View All Changes pour ouvrir la boîte de dialogue [View All Changes].

  5. Cliquez sur Finish pour fermer la boîte de dialogue.

Extraction des données de changement en mode Trigger

Après avoir défini l'environnement CDC, vous pouvez créer un Job dans le Studio Talend utilisant un composant CDC correspondant au type de base de données que vous utilisez, afin d'extraire les changements apportés aux données du système source. Dans cet exemple, le composant tTeradataCDC est utilisé pour montrer comment extraire les données de changements effectués sur la table source person. Pour plus d'informations concernant les propriétés et les paramètres du composant tTeradataCDC, consultez la documentation de ce composant à l'adresse https://help.talend.com.

  1. Créez un nouveau Job dans le Studio Talend, ajoutez un composant tTeradataCDC et un tLogRow. puis reliez les deux composants à l'aide d'un lien Row Main.

  2. Double-cliquez sur le composant tTeradataCDC et paramétrez ses propriétés.

  3. Sélectionnez Repository dans la liste déroulante Property of the CDC Connection et cliquez sur le bouton [...] pour récupérer le schéma correspondant à votre connexion à la base de données CDC.

  4. Sélectionnez Repository dans la liste déroulante Schema using CDC et cliquez sur le bouton [...] pour récupérer le schéma correspondant à votre table de laquelle capturer les modifications.

  5. Cochez la case correspondant à l'événement ou aux événements à surveiller.

  6. Double-cliquez sur le tLogRow et, dans la zone Mode, sélectionnez Basic settings, sélectionnez Table (print values in cells of a table) pour un affichage optimal des résultats.

  7. Appuyez sur les touches Ctrl + S afin de sauvegarder votre Job puis sur F6 pour l'exécuter.

Dans la console, vous pouvez lire les résultats en sortie qui correspondent à ce que vous pouvez voir dans la boîte de dialogue [View All Changes].