IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Gestion de plusieurs fichiers CSV


Sujet :

Développement de jobs

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut Gestion de plusieurs fichiers CSV
    Bonjour,

    J'aimerai savoir si sous talend il est possible de gérer plusieurs fichier de meme structure.

    Par exemple j'ai un fichier index1.csv, index2.csv, index3.csv

    j'ai besoin d'ajouter des éléments à ces 3 fichiers.

    Est-il possible de les alimenter sans avoir a les rentrer dans les metadonnées ?

    ou alors en entrer qu'un seul et incrementer le fichier de 1 ?

    je pose la question car dans mon projet je vais avoir 150 fichiers de ce type a gerer...

    Merci de votre aide et j'espere avoir été compréhensible.

  2. #2
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Je pense que la meilleur façon c'est d'utiliser une boucle qui fait te faire un incrément et qui lira un fichier à chaque itération. Tu utiliseras un seul composant tFileInput mais avec un nom de fichier dynamique du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "index" + compteur + ".CSV"
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    merci pour ta reponse rapide.

    Je debute cependant sur talend...

    peux-tu m'indiquer tres rapidement un exemple ?

    où entrer la variable pour le compteur ? comment faire la boucle ?

    merci beaucoup

  4. #4
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Pour commencer je te conseille de faire des tutos Talend simple comme ça tu pourras comprendre un peu le principe de son fonctionnement avant de te lancer dans un job compliqué comme le tien --> regarde par ici : http://haskouse.developpez.com/

    Apart ça pour te répondre :
    où entrer la variable pour le compteur ? comment faire la boucle ?
    Soit tu utilises une variable globale soit tu utilises une variable de contexte.
    Pour les variables globales :

    • écriture de la variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Integer)globalMap.put("toto",152)
    • lecture de la variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Integer)globalMap.get("toto")
    Pour les variables de contexte regarde les tutos que je t'ai envoyé.

    Comment faire la boucle : Cela dépend de comment tu vas gérer ton job, mais pour une loop simple il y'a le composant tLoop.

    Bonne chance.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    j'ai opté pour la variable de contexte...

    j'ai reussi pour utiliser une variable pour le chemin...

    sauf qu'il ne prend que du string... si j'utilise une variable de type integer il aime pas... et en essayant de convertir (String)context.Compteur il aime pas non plus.

    Comment faire ?

    de plus comment faire pour incrémenter mon compteur a chaque fois que le loop s'incremente ??

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    C'est bon j'ai trouvé j'ai utilisé Numeric.sequence avec un loop et ca fonctionne...

    Merci encore j'ai appris des choses interessantes sur talend.

  7. #7
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Normalement le compteur c'est ta boucle qui va le gérer (le tLoop) alors pas besoin de sequence.

    Donne à ton fichier le nom suivant et regarde ce que ça donne (je vais supposer que ton loop s'appelle tLoop_1) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "index" + (Integer)globalMap.get("tLoop_1_CURRENT_ITERATION") + ".csv"
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    effectivement de cette facon ca fonctionne...

    je me doutais bien qu'on pouvais faire de cette facon mais je ne savais pas comment faire.

    Merci beaucoup... ca explique pourquoi j'ai du mettre un pas de 0 dans mon numeric.sequence.

Discussions similaires

  1. Menu contextuel de Windows - Gestion de plusieurs fichiers
    Par SpecialCharacter dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 26/08/2009, 07h38
  2. [log4j] Gestion de plusieurs fichiers de logs
    Par bapfuror dans le forum Logging
    Réponses: 5
    Dernier message: 18/04/2008, 12h17
  3. [Sunopsis v4]Chargement de plusieurs fichiers CSV
    Par Taichin dans le forum ODI (ex-Sunopsis)
    Réponses: 5
    Dernier message: 10/04/2008, 16h16
  4. Ouvrir et modifier plusieurs fichiers .csv.
    Par jackfred dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2007, 12h06
  5. Réponses: 8
    Dernier message: 06/07/2004, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo