Mini Projet 1: Intégration de données commerciales (Chargement du DWH)-Talend Data Integration #36

Поділитися
Вставка
  • Опубліковано 9 лис 2024
  • Bonjour à toutes et à tous,
    J'espère que vous vous portez très bien.
    Je vous présente la deuxième partie de notre premier mini projet qui consiste à mettre en place un système d'intégration de données commerciales via Talend Data Integration.
    Cette deuxième partie nous permettra de charger les tables du Data WareHouse (DWH) à partir des tables ODS (Operational Data Store).
    Cette deuxième partie du mini projet est répartie en quatre étapes :
    1- Comprendre la construction des différentes tables du Data WareHouse
    2- Connexion à la base de données via pgAdmin 4 et exécution des différents scripts SQL
    3- Mise en place des différents processus d'intégration de données
    3.1- Ouverture du projet Talend
    3.2- Création du groupe de contexte DWH
    3.3- Création des métadonnées : Connexion à la base de données
    3.4- Création des jobs DWH
    3.5- Création du job principal
    Grâce à cette deuxième partie, vous verrez l'utilisation des composants ci-dessous :
    Orchestration : tPrejob, tPostjob, tRunJob
    Misc : tContextLoad
    Log & Errors : tChronometerStart, tChronometerStop
    Database : tDBConnection, tDBCommit, tDBClose, tDBInput, tDBOutput
    Custom Code : tJava
    Processing : tMap
    Afin de mieux suivre ce mini projet, je mets à votre disposition sur le lien git ci-dessous, les différents fichiers .sql, .java, .xlsx et .zip.
    Lien de téléchargement: gitlab.com/rad...
    (Voir le contenu du répertoire : Section 10/Mini Projet1 Partie2)
    Les scripts SQL sont dans le répertoire : scriptSQL
    Vous pouvez également suivre les différentes étapes décrites dans le fichier readme.md
    Précédentes Vidéos utiles pour suivre cette formation :
    Mini Projet 1: Intégration de données commerciales (Chargement de l’ODS)-Talend Data Integration #35
    • Mini Projet 1: Intégra...
    Générer un calendrier (Generate calendar using tRowGenerator and tMap) - Talend Data Integration #24
    • Générer un calendrier ...
    Merci de partager et de vous abonner à ma chaîne pour ne rater aucune de mes vidéos.

КОМЕНТАРІ • 25

  • @martinbarinko5765
    @martinbarinko5765 8 місяців тому +2

    Bonjour Raoul,
    J'ai beaucoup apprécié ton travail sur ce projet, car tu as bien expliqué les différents composants que tu as utilisés tout au long de la vidéo. La seule chose que je n'ai pas bien comprise, c'est à la minute 50:00, lorsque tu as créé 3 "outputs" dans le tMap pour effectuer l'insertion et la mise à jour du DIM_CLIENT. Pour ce qui est de l'output "updateBICurrent" et "insertNewClients", je ne vois pas vraiment quelles mises à jour sont effectuées en fonction des attributs de chacun de ces deux "outputs".
    Merci de bien vouloir éclaircir ce point pour moi.

    • @martinien-adda
      @martinien-adda  6 місяців тому

      Bonjour Martin
      Je m'excuse pour le retard de réponse.
      En fait la mise à jour s'effectue lorsque le client existe déjà.
      Si le client existe déjà, je vérifie s'il y a un changement sur les autres champs. Dans le cas où il a un changement, je mets à jour le champs BL_LIGNE_ACTIVE à 0 et j'insère la nouvelle ligne.
      L'idée ici est de ne pas supprimer les anciennes données et d'avoir toujours une seule ligne active. J'espère avoir répondu à ta question !

  • @SwaryPvp
    @SwaryPvp 7 місяців тому +2

    Bonjour, super travail, juste une questio : Lorsque l'on met a jour des lignes, cela ne pose pas de probleme d'avoir dans la meme table 2 fois le meme ID_CLIENT ? Sachant qu'il y a l'ancienne ligne et la nouvelle. Ou alors je n'ai pas trop compris comment conserver ce principe d'unicité

    • @martinien-adda
      @martinien-adda  6 місяців тому

      Bonjour,
      Bonne question
      Le principe d'unicité se traduit par le champ composé id client et bl ligne active

  • @ZeinebChaabouni-b2r
    @ZeinebChaabouni-b2r Місяць тому

    Hey Maritinien, merci pour la qualité de cette formation et pour vos excellentes explications ! J'aurais juste une petite question, au lieu de choisir de travailler avec 2 tmpas et de concevoir trois sorties différentes pour l'insertion et la mise en jour pour dim_client, ne pouvons nous pas tout simplement garder un seul tmap et lui mettre en sortie dim_client et juste choisir comme action sur les données dans les paramètres simples de l'output Dim_client "Insérer ou mettre à jour" ? Cela n'aura t il pas le meme résultat ?

    • @martinien-adda
      @martinien-adda  9 днів тому

      Hey Zeineb, Merci pour votre commentaire.
      Oui effectivement vous pouvez avoir un seul tMap au lieu de deux. Cela va fonctionner de la même manière

  • @mfabrice8057
    @mfabrice8057 Місяць тому

    Bonjour,
    Je débute sur Talend et vous remercie donc pour ce projet très formateur que l'on peut retrouver dans la pratique.
    J'aurais 2 questions :
    - Sauriez-vous me dire comment effectuer un delete .... where avant d'insérer les données dans une table
    - Comment passer un parametre date d'arrete (par exemple arrete mensuel) à un job ceci afin de pouvoir relancer un job de load de tables de DWH dans le passé
    - Quid des calculs de stats des tables après les transactions de chargement ou maj
    Merci par avance.

    • @martinien-adda
      @martinien-adda  9 днів тому +1

      Bonjour
      Merci pour votre commentaire !
      - Sauriez-vous me dire comment effectuer un delete .... where / Vous pouvez utiliser le composant tDBRow où vous pouvez le faire via le composant tDBOutput (En choississant actions sur les données delete)
      - Comment passer un parametre date d'arrete (par exemple arrete mensuel) à un job ceci afin de pouvoir relancer un job de load de tables de DWH dans le passé
      Je dirai, vous pouvez utiliser les variables contexte (et avec l'action "Run if" et ajouter votre condition)
      - Quid des calculs de stats des tables après les transactions de chargement ou maj
      Vous devez l'activer dans l'onglet : Modifier les paramètre du projet ==> Paramètre du job ==> Stats & Logs

  • @reussirsonbusinessaupays
    @reussirsonbusinessaupays Рік тому +1

    formidable, j'ai encore quelques erreur mais je vais y arriver

    • @martinien-adda
      @martinien-adda  Рік тому

      n'hésitez pas à m'envoyer votre erreur

    • @reussirsonbusinessaupays
      @reussirsonbusinessaupays Рік тому +1

      J'ai tout corrigé et tout va bien.
      Mon erreur c'est d'avoir mis les ID des différents tables du DWH dans mes tables en out du tmap, du coup à l'écriture dans la base, ça créaient des erreurs.
      Dès que j'ai supprimé, tout est passé.
      Formidable. Je passe à la phase 3 du miniprojet maintenant que L'ODS et me DWH sont ok.

    • @martinien-adda
      @martinien-adda  Рік тому

      @@reussirsonbusinessaupays Super !
      Merci pour votre retour !

  • @stevejeeps7106
    @stevejeeps7106 Рік тому +2

    Salut Raoul,
    Quels conseils donnerais tu à quelqu'un qui souhaite faire cette partie du mini projet (chargement du DWH) avec un outils de reporting comme POWER BI par exemple?

    • @martinien-adda
      @martinien-adda  Рік тому +1

      Bonjour Steve,
      Normalement POWER BI est un outil de reporting. Ce qui implique qu'il a besoin de données afin de produire de bon rapports. Par contre cette partie du projet est une intégration de données dans le Data WareHouse. Je dirai que cette partie du projet tu ne peux la faire qu'avec un outil d'intégration de donnée. Et idéalement faire aussi la première partie avec le même outil.
      J'espère avoir répondu à ta question.

    • @stevejeeps7106
      @stevejeeps7106 Рік тому +1

      @@martinien-adda Oui merci! par ailleur ayant déja alimenté L'ODS , il est également possible de partir de là avec power BI et faire une modélisation en étoile mais je reste d'accord avec vous sur le fait d'utiliser un outils d'integration. Je vous remercie pour vos réponses. Grosse force à vous.

  • @ikrammisbah4798
    @ikrammisbah4798 5 місяців тому +1

    Bonjour , merci bcp pur cette video , j ai une qst : moi je suit votre projet mais avec d autre données et d autre table , par exemple , ds la table vente Fait_vente moi j ai une table qi s appelel fait _contrat et j ai besoin que l id_ contat que je l ai mit ds la table ods de le remettre ds la table de dw , est ce que c est possible ?

    • @martinien-adda
      @martinien-adda  5 місяців тому

      Bonjour,
      Oui vous pouvez le faire.
      vous pouvez suivre le même principe que id_vente

  • @amadouvision8117
    @amadouvision8117 Рік тому +1

    Bonjour Monsieur Raoul je vous remercie pour ces vidéos. j'ai une préoccupation: lors de l'exécution du job chargement de la table dim_client, il y'a cette erreur qui s'affiche :
    bs_destinataire cannot be resolved to a variable . il s'agit du composant tDBConnexion(mysql)
    s'il vous plaît aidez moi à résoudre cette erreur. merci

    • @martinien-adda
      @martinien-adda  Рік тому

      Bonjour Monsieur
      C'est avec plaisir et merci pour votre commentaire.
      L'erreur doit venir du fait que vous avez mis bs_destinataire dans un des composants du job alors qu'il n'est pas une colonne valide. Essayez de regarder dans chaque composant vous allez pouvoir trouver cela.

    • @amadouvision8117
      @amadouvision8117 Рік тому

      d'accord merci

    • @martinien-adda
      @martinien-adda  Рік тому

      @@amadouvision8117 je vous en prie

  • @zaynebdhawedi1101
    @zaynebdhawedi1101 Рік тому +1

    au niveau de l'exécution du job charge DWH j'ai une erreur
    Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Thread-3"
    Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded

    • @martinien-adda
      @martinien-adda  Рік тому

      vous pouvez regarder cette vidéo qui permet de régler le problème : ua-cam.com/video/hnY-q4i27Vo/v-deo.html