Scénario 2 : Extraire les modifications à l'aide du CDC - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Ce scénario est basé sur le scénario précédent. Il alimente et modifie, au fil de l'eau, les données stockées dans l'entrepôt CRM et récupère et enregistre, toutes les nuits, ces modifications à l'aide de la fonction CDC dans une table dédiée. Et ces modifications sont ensuite extraites par les différents services intéressés : le service Marketing, le service Ventes et le service Finance.

Etape 1 : Configurer le CDC

Avant d'extraire les modifications apportées à votre entrepôt de données CRM, vous devez :

  1. configurer la connexion à la base de données dédiée au CDC,

  2. configurer la connexion à la base de données source et identifier la table à surveiller,

  3. configurer la connexion entre le CDC et les données.

Créer des connexions et des souscripteurs

  1. Dans le Repository, sous le nœud Metadata, créez une connexion à votre base de données dédiée au CDC, ici CDC_connection.

    Note

    Vérifiez que la connexion au CDC est sur le même serveur que la source de données pour laquelle les changements seront capturés.

  2. Dans le Repository, sous le nœud Metadata, créez une connexion à votre entrepôt de données dont vous souhaitez extraire les changements, ici CRM_connection.

  3. Cliquez-droit sur la connexion à votre CRM et sélectionnez l'option Retrieve schema pour récupérer le schéma de la table à surveiller.

  4. Cliquez-droit sur le sous-dossier CDC Foundation de votre CRM et sélectionnez l'option Create CDC dans le menu contextuel.

    La boîte de dialogue [Create change data capture] apparaît.

  5. Dans le champ Set link Connection, sélectionnez la connexion CDC_connection.

  6. Cliquez sur le bouton Create Subscriber. La boîte de dialogue [Create subscriber and Execute SQL Script] apparaît.

  7. Cliquez sur Execute, puis sur Close.

  8. Cliquez sur Finish pour valider la création de la table des souscripteurs.

    Dans le dossier CDC Foundation, la table des souscripteurs apparaît.

Spécifier la table à laquelle le souscripteur veut souscrire et activer la souscription

  1. Cliquez-droit sur le schéma de la table Leadfact à surveiller dans votre entrepôt de données CRM et sélectionnez l'option add CDC dans le menu contextuel. La boîte de dialogue [Create Subscriber and Execute SQL Script] apparaît.

  2. Dans les champs Events to catch, cochez les cases Insert, Update et Delete pour surveiller les insertions, mises à jours et suppression.

  3. Dans le champ Subscriber Name, saisissez le nom du souscripteur ayant accès à ces modifications, ici Sub_Mktg pour le service Marketing.

  4. Cliquez sur Execute, puis sur Close pour valider la souscription.

    Dans le sous-dossier CDC Foundation, deux nouvelles tables apparaissent et le schéma de la table surveillée est marqué d'un symbole CDC vert.

Créer de nouveaux souscripteurs Sub_Sales et Sub_Finance pour le service commercial et la finance respectivement

Créez de nouveaux souscripteurs pour les services Finance et Ventes, respectivement Sub_Finance et Sub_Sales :

  1. Cliquez-droit sur la table Leadfact par le CDC et sélectionnez l'option Edit CDC Subscribers. La boîte de dialogue [Edit CDC] apparaît.

  2. Cliquez sur le bouton Add. La boîte de dialogue [Input subscriber name] apparaît.

  3. Saisissez le nom du souscripteur, ici Sub_Finance et Sub_Sales.

  4. Cliquez sur Execute puis Close pour valider la création.

Etape 2 : Modifier les données de votre CRM

Modifiez les données de vos clients dans votre CRM, par exemple, mettre tous les noms de vos clients en majuscule dans un soucis d'harmonisation.

  1. Double-cliquez sur le composant tMap et saisissez row1.CustomerName.toUpperCase()devant la colonne CustomerName pour mettre tous les noms de vos clients en majuscules.

  2. Cliquez sur OK.

  3. Double-cliquez sur le composant tMysqlOutput.

  4. Dans le champ Action on table, sélectionnez None.

  5. Dans le champ Action on data, sélectionnez Insert or update pour insérer ou mettre à jour les données de la table.

  6. Sauvegardez votre Job et appuyez sur F6 pour l'exécuter.

Pour visualiser toutes les modifications apportées, cliquez-droit sur la table Leadfact et sélectionnez l'option View All Changes afin d'ouvrir la boîte de dialogue correspondant.

Etape 3 : Extraire les modifications apportées aux données

Après avoir mis en place l'environnement CDC, vous pouvez créer un Job utilisant le composant MySQL CDC pour extraire les modifications apportées aux données de la table Leadfact.

  1. De la Palette, déposez les composants tMysqlCDC et tLogRow dans l'espace de modélisation graphique.

  2. Reliez ces deux composants à l'aide d'une connexion de type Row Main.

  3. Double-cliquez sur le composant tMysqlCDC pour paramétrer ses propriétés.

  4. Dans le champ Property Type, sélectionnez l'option Repository puis la connexion CDC_connection à la base de données CDC. Les informations de connexion seront renseignées automatiquement.

    Note

    Si vous n'avez pas créé de connexion à votre base de données de modifications dans les métadonnées, sélectionnez Built-in dans le champ Property Type et renseignez les champs manuellement.

  5. Dans le champ Schema using CDC, sélectionnez l'option Repository puis le schéma de votre table Leadfact stockée dans les métadonnées.

  6. Dans le champ Table using CDC, renseignez le nom de la table surveillée par le CDC.

  7. Dans le champ Subscriber, renseignez le nom du souscripteur qui va extraire les modifications : Sub_Mktg pour le service Marketing, Sub_Sales pour le service Ventes ou Sub_Finance pour le service Finance.

  8. Dans le champ Events to catch, cochez les cases correspondant au type de modifications que le souscripteur va extraire, ici cochez les trois cases pour les trois souscripteurs.

  9. Double-cliquez sur le composant tLogRow pour paramétrer ses propriétés.

  10. Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent.

  11. Enregistrez votre Job et appuyez sur F6 pour l'exécuter.

Le nom des clients est donc mis en majuscule et le type de modification apparaît ici sous la forme d'un U pour Update.

Une fois, ces modifications extraites, elles ne sont plus disponibles dans la table des modifications. Pour vérifier leur extraction, cliquez-droit sur la table Leadfact surveillée par le CDC et sélectionnez l'option Views All Changes. Les modifications extraites n'y apparaissent plus.