Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

MySQL vers Excel sur Talend Data Integration


Sujet :

Développement de jobs

  1. #1
    Membre à l'essai
    MySQL vers Excel sur Talend Data Integration
    Bonjour,
    débutante sur Talend je viens demander de l'aide ici !

    Dans le cadre d'un stage mon objectif est d'automatiser la génération et l'envoi de tableaux de bords.
    Je dois donc utiliser Talend pour cela.
    A partir d'une requête SQL, j'aimerai tout d'abord alimenter un fichier Excel (2016). Je suis sous MySQL.
    La requête est du type :
    Code SQL :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT DATE(r.endDate) AS fin, COUNT(r.id) AS nb, COUNT(DISTINCT userid) AS user
    FROM resa r
    INNER JOIN acc a ON r.aid=a.id
    INNER JOIN dri d ON r.did=d.id
    WHERE r.endDate>DATE(NOW() -INTERVAL 1 DAY) AND r.endDate < DATE(NOW())
    AND a.type != 'blabla' AND startDate is not null 
    AND r.endKm-r.startKm > 0 AND op=1 AND r.endDate != DATE(NOW()) AND start<end
    GROUP BY DATE(r.endDate);


    J'aimerai avec cette requête (qui se base donc sur 3 tables d'une même base de données) alimenter un fichier Excel qui devra contenir 3 colonnes.
    J'ai essayé avec une chemin du type tDBInput --> tMap --> tOutputExcelFile mais je ne parviens pas à comprendre comment faire cela...

    Alors si une belle âme pourrait me venir en aide ce serait un cadeau car je galère la-dessus depuis plusieurs jours.
    Merci d'avance pour votre aide !

  2. #2
    Membre éclairé
    Bonjour,

    Vous avez un début de traitement ?

    est-ce que vous avez une erreur ? Qu'est-ce qui vous bloque ?

    Pourquoi mettre un tMap ?

  3. #3
    Membre à l'essai
    Que voulez-vous dire par un début de traitement ?
    Alors j'ai connecté ma base de données, j'ai construit une requête et j'ai utilisé cette requête en tant que input. J'ai essayé de paramétrer le tMap qui mène vers le output Excel mais je ne comprend pas comment cela fonctionne.
    J'ai utilisé un tmap car je n'y connais rien et selon d'autres forums, le tmap semblait approprié.

  4. #4
    Membre éclairé
    Les composants ont des schémas qui définissent les données transitant d'un composant à un autre en fonction des liaisons effectuées entre les composants.

    Les tutoriels sur internet sont en général assez bien détaillés pour des traitements classiques comme présentez le votre. Par exemple celui-ci : https://fr.talend.com/resources/reading-a-file/

  5. #5
    Membre à l'essai
    Citation Envoyé par MythOnirie Voir le message
    Les composants ont des schémas qui définissent les données transitant d'un composant à un autre en fonction des liaisons effectuées entre les composants.

    Les tutoriels sur internet sont en général assez bien détaillés pour des traitements classiques comme présentez le votre. Par exemple celui-ci : https://fr.talend.com/resources/reading-a-file/
    Ma difficulté se situe surtout au niveau de la "lecture" de la base de données. Comment faire les jointures ? les count ? etc. Mon fichier d'entrée n'est pas un csv. J'ai bien compris le tutoriel que vous proposez mais cela ne m'avance pas dans mon problème.. enfin je pense.

    Merci

  6. #6
    Membre éclairé
    La requête que vous avez donné fonctionne lorsque vous la jouez sur votre base de données ? Si oui il y a de grande chance qu'elle fonctionne de la même manière dans Talend.

  7. #7
    Membre à l'essai
    Citation Envoyé par MythOnirie Voir le message
    La requête que vous avez donné fonctionne lorsque vous la jouez sur votre base de données ? Si oui il y a de grande chance qu'elle fonctionne de la même manière dans Talend.
    oui, elle fonctionne sur ma base de données mais si je l'utilise en tant qu'input et que je relie cet input à un tfileoutputExcel, le fichier produit reste vide mais je ne sais pas d'où vient le problème.
    Je ne comprend pas vraiment comme je dois définir le schéma de ma requête sachant qu'il y a deux jointures et des count.

    Pourriez-vous me donner un exemple de comment je pourrai procéder ?

    Merci

  8. #8
    Membre éclairé
    Dans le schema de la requête il faut les champs récupérés dans le select, sans aucun lien avec les jointures.

  9. #9
    Membre à l'essai
    Citation Envoyé par MythOnirie Voir le message
    Dans le schema de la requête il faut les champs récupérés dans le select, sans aucun lien avec les jointures.
    Tout simplement...

    Merci bien de votre aide !