Accéder au contenu principal

Suivre les modifications d'une table Snowflake à l'aide du composant tJDBCSCDELT

Ce scénario décrit un Job capturant les modifications des données des employés dans une table Snowflake, à l'aide des méthodes SCD (Slowly Changing Dimensions) de Type 1 et de Type 2 implémentée par le composant tJDBCSCDELT et écrivant les données actuelles et historiques dans une table de dimension SCD.

Pour plus de technologies supportées par Talend, consultez Composants Talend.

Les données d'entrée contiennent différents détails relatifs aux employés, comme leur nom (name), leur poste (role) ou leur salaire (salary). Une colonne id est ajoutée pour assurer l'unicité des données d'entrée.

Tout d'abord, les données suivantes des employés sont insérées dans une nouvelle table Snowflake.

#id;name;role;salary
111;Mark Smith;tester;15000.00
222;Thomas Johnson;developer;18000.00
333;Teddy Brown;tester;16000.00

La table est ensuite mise à jour avec les données renouvelées des employés.

#id;name;role;salary
111;Mark Smith;tester;15000.00
222;Thomas Johnson;tester;18000.00
333;Teddy Brown;writer;17000.00
444;John Clinton;developer;19000.00

Vous pouvez voir que le poste de Thomas Johnson est passé de developer à tester, le poste de Teddy Brown est passé de tester à writer et son salaire est passé de 16000.00 à 17000.00. De plus, un nouvel enregistrement d'ID 444 a été inséré. Dans ce scénario,

  • les données relatives au nouveau nom et au nouveau poste doivent écraser les données existantes, vous allez donc effectuer une méthode SCD de Type 1 sur ces données,

  • vous souhaitez conserver l'historique complet des données relatives aux salaires, toujours créer un enregistrement avec les données modifiées et fermer l'enregistrement précédent, vous allez donc effectuer une méthode SCD de Type 2 sur ces données.

Pour plus d'informations concernant les types SCD, consultez Méthodologie de gestion du SCD.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !