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 :

Quelle composants utiliser pour ajouter des numéros de séquences à plusieurs colonnees dans un même fichier ?


Sujet :

Développement de jobs

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Quelle composants utiliser pour ajouter des numéros de séquences à plusieurs colonnees dans un même fichier ?
    Bonjour à tous, étant un vrai débutant sur talend j'aurais besoin de votre aide s'il vous plaît. Voilà je voudrais premièrement ajouter une colonnes id pour chaque colonne d'une même feuille excel et dans le même temps (ou à la suite) normaliser les valeurs qui se répètent.
    Pour vous donner une idée du problème je vous soumet une esquisse de mon fichier.

    Région Département localité zipcode
    A. H. T. 01
    A. H. M. 01
    A. J. N 02
    B. G. D. 07
    B. I. Z. 08
    B. I. E. 09
    C. P. R. 15
    C. F. T. 16
    C. W. Y. 17

    La colonne localité est la seule qui n'a pas de valeur répétitives. Le but est donc de transformer ce tableau de telle sorte qu'il y ai une colonne id avec des valeurs uniques pour chaque attribut.

    Dans la première étape, J'arrive à créer un output excel avc tmap où j'ai les ids pour chaque colonne mais pour ce qui concerne la normalisation je bloque. J'ai essayé avec tnormalize mais j'ai toujours les valeurs qui se répètent.
    Sans doute que ma procédure n'est pas la bonne, faut il que je sépare (tmap) d'abord les différentes colonnes dans des fichiers Excel différents pour ensuite les normaliser (tnormalize), ajouter les ids (tmap) et ? Et même dans ce cas comment obtenir le résultat escompté.

    Cordialement.

  2. #2
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Salut esmlo2,

    Quelle composants utiliser pour ajouter des numéros de séquences à plusieurs colonnees dans un même fichier ?
    Dans ton tMap tu peux utiliser la routine de création de séquence Numeric.sequence("s1",1,1).

    Ensuite, pour décomposer tes données, j'aurai plutôt pensé au composant tDenormalise.

    Je pense qu'en fournissant un exemple de ce que tu veux en sortie, permettra de t'aiguiller un peu plus en détail.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Netsoro Voir le message
    Salut esmlo2,

    Dans ton tMap tu peux utiliser la routine de création de séquence Numeric.sequence("s1",1,1).

    Ensuite, pour décomposer tes données, j'aurai plutôt pensé au composant tDenormalise.

    Je pense qu'en fournissant un exemple de ce que tu veux en sortie, permettra de t'aiguiller un peu plus en détail.

    Merci pour la réponse. Au fait, le but de tout mon processus est de charger les données dans un datawarehouse (chose qui lève également d'autres interrogations mais j'y reviendrai plus tard). Donc à cette étape mon but est premièrement d'ajouter une colonne id à toutes les colonnes qui ont des données en double et ensuite normalizer la table en vue d'éliminer la redondance.

    Pour réaliser la première partie, je voudrais ajouter des colonnes id dont l'incrémentation dépend des valeurs des attributs d'autres colonnes (càd les mêmes numéros de séquences pour les mêmes attributs répétitifs). Considérons le fichier source ci-dessous par exemple:

    Label
    CAR
    CAR
    CAR
    BIKE
    BIKE
    WHEEL
    WHEEL
    WHEEL

    Le output que je recherche en gros est celui ci:

    Label ID
    CAR 1
    CAR 1
    CAR 1
    BIKE 2
    BIKE 2
    WHEEL 3
    WHEEL 3
    WHEEL 3

    Dans mes recherches, j'ai trouvé une sorte de réponse qui pourrait m'aider mais je ne sais pas comment modifier le code pour qu'il réponde à mes exigences. Voilà le code en question: Numeric.sequence(String.valueOf(row4.Ib_sharepoint),1,1).
    En plus d'incrémenter les ids, ce code réinitialise également la séquence numérique à chaque changement de label de telle sorte que le output soit de ce genre:

    Label ID
    CAR 1
    CAR 2
    CAR 3
    BIKE 1
    BIKE 2
    WHEEL 1
    WHEEL 2
    WHEEL 3

    Comme vous le voyez le résultat n'est pas trop éloigné de celui que je recherche. A ce niveau je ne sais plus quoi faire pour avancer, pouvez vous svp m'aider avec ce code oupeut-être me proposer une autre solution.


    Cordialement.

  4. #4
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Salut esmlo2,

    Voici une manière de faire ça, d'abord tu tries tes données, ainsi tous les mots sont alignés les uns après les autres, ensuite tu utilises le composant tMemorizeRows afin de mémoriser la ligne courante et la ligne précédente, puis dans le tJavaFlex tu compares afin de savoir si le label courant est égal au label précédent, si oui tu gardes le même compteur, sinon tu l'incrémente de 1, car tu veux compter la suite de mots suivant.

    Job :

    Nom : c-job.PNG
Affichages : 1262
Taille : 9,8 Ko

    Config tSortRow :

    Nom : c-config_tsort_row.PNG
Affichages : 1189
Taille : 4,4 Ko

    Config tMemorizeRows :

    Nom : c-config_tmemo.PNG
Affichages : 1534
Taille : 10,1 Ko

    tJavaFlew :

    Nom : c-config_flex.PNG
Affichages : 1361
Taille : 16,0 Ko


    Résultat :

    Nom : c-res.PNG
Affichages : 1208
Taille : 2,7 Ko

    Voilà.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  5. #5
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Salut esmlo2,

    Je fais un petit update de la réponse que je t'ai posté, la partie else est inutile, le code :

    if(!LABEL_tMemorizeRows_1[0].equals(LABEL_tMemorizeRows_1[1])){
    row4.CPT = ++cpt;
    }
    suffit largement a faire ce que tu veux, car à la première itération il n'y a pas de précédent, donc LABEL_tMemorizeRows_1[1] vaut null, ainsi le compteur cpt sera mis à 1, puis tant qu'il ne trouve pas que la valeur précédente est différente de la suivante le cpt n'est pas incrémenté.

    C'est aussi à toi de voir, si tes données sont déjà triées dans ce cas tu n'as pas besoin du tSortRow.

    Voilà.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  6. #6
    Membre éprouvé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Février 2008
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte Décisionnel

    Informations forums :
    Inscription : Février 2008
    Messages : 866
    Points : 1 260
    Points
    1 260
    Par défaut
    Salut,

    Petite remarque, je ne sais pas si ça peut aider :
    Si j'ai bien compris, tu veux alimenter un datawarehouse en utilisant des clés de substitution (des id à la place des codes).

    En général, on fait ça en plusieurs phases :
    - D'abord tu charges les tables des référentiels, et c'est pendant cette phase que tu génères les id. Ca peut être fait de 2 manières, soit avec les séquences Talend comme tu le proposes, soit avec des séquences gérées au niveau de la base de données alimentée.
    - Ensuite tu charges les tables de faits, en récupérant chaque id correspondant à chaque code (via des lookups).

    Bon, pas sûr que ça réponde à ce que tu veux faire.
    Mais si c'est le cas, sache que c'est quelque chose de tout à fait standard que tu es en train de faire.

    Nicolas

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Netsoro Voir le message
    Salut esmlo2,

    Je fais un petit update de la réponse que je t'ai posté, la partie else est inutile, le code :



    suffit largement a faire ce que tu veux, car à la première itération il n'y a pas de précédent, donc LABEL_tMemorizeRows_1[1] vaut null, ainsi le compteur cpt sera mis à 1, puis tant qu'il ne trouve pas que la valeur précédente est différente de la suivante le cpt n'est pas incrémenté.

    C'est aussi à toi de voir, si tes données sont déjà triées dans ce cas tu n'as pas besoin du tSortRow.

    Voilà.
    Salut Netsoro, apparemment il y a quelque chose qui cloche avec le code du tjavaflex à moi mon niveau. Voilà l'erreur que je reçois

    Nom : Capture.PNG
Affichages : 1231
Taille : 24,0 Ko

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par DevNico Voir le message
    Salut,

    Petite remarque, je ne sais pas si ça peut aider :
    Si j'ai bien compris, tu veux alimenter un datawarehouse en utilisant des clés de substitution (des id à la place des codes).

    En général, on fait ça en plusieurs phases :
    - D'abord tu charges les tables des référentiels, et c'est pendant cette phase que tu génères les id. Ca peut être fait de 2 manières, soit avec les séquences Talend comme tu le proposes, soit avec des séquences gérées au niveau de la base de données alimentée.
    - Ensuite tu charges les tables de faits, en récupérant chaque id correspondant à chaque code (via des lookups).

    Bon, pas sûr que ça réponde à ce que tu veux faire.
    Mais si c'est le cas, sache que c'est quelque chose de tout à fait standard que tu es en train de faire.

    Nicolas

    Salut DevNico, je suis tout à fait d'accord avec toi mais puisque tu en parles est-ce qu'il sera possible de générer ce genre de id avec toutes ces particularités en utlisant le DBMS? J'y avais pensé mais je me suis dit que c'était pas faisable.

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2013
    Messages : 34
    Points : 54
    Points
    54
    Par défaut
    on dirait que tu n'as pas initialisé la varaible cpt dans le begin du tjavaflex

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par snobelix Voir le message
    on dirait que tu n'as pas initialisé la varaible cpt dans le begin du tjavaflex
    Je crois bien que je l'ai fait.

    Nom : Capture1.PNG
Affichages : 1798
Taille : 4,1 Ko

  11. #11
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par esmlo2 Voir le message
    Je crois bien que je l'ai fait.

    Nom : Capture1.PNG
Affichages : 1798
Taille : 4,1 Ko
    Il te faut définir cpt dans le schema du composant tJavaFlex. dans mon schéma j'avais définis un CPT majuscule, apparemment toi tu le définis en minuscule, ainsi, tu pourras faire row4.cpt=++cpt;
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  12. #12
    Membre éprouvé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Février 2008
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte Décisionnel

    Informations forums :
    Inscription : Février 2008
    Messages : 866
    Points : 1 260
    Points
    1 260
    Par défaut
    Citation Envoyé par esmlo2 Voir le message
    Salut DevNico, je suis tout à fait d'accord avec toi mais puisque tu en parles est-ce qu'il sera possible de générer ce genre de id avec toutes ces particularités en utlisant le DBMS? J'y avais pensé mais je me suis dit que c'était pas faisable.
    Oui, la plupart des systèmes de bases de données embarquent cette fonctionnalité en standard.
    Sur Oracle avec des séquences, sur mysql avec l'option AUTO_INCREMENT...

    Au pire tu peux gérer toi-même l'incrément en récupérant la valeur max existante en début de ton job, et en initialisant une séquence Talend avec.

    Nicolas

  13. #13
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Je viens de lire cette phrase de ce que tu avais écris en bas :

    Donc à cette étape mon but est premièrement d'ajouter une colonne id à toutes les colonnes qui ont des données en double et ensuite normalizer la table en vue d'éliminer la redondance.
    La solution que je t'ai proposé répond au besoin que tu as exprimé, c'est à dire, tu as des données telles que :

    Label
    CAR
    CAR
    CAR
    BIKE
    BIKE
    WHEEL
    WHEEL
    WHEEL


    Tu veux arriver à ça :

    Label ID
    CAR 1
    CAR 1
    CAR 1
    BIKE 2
    BIKE 2
    WHEEL 3
    WHEEL 3
    WHEEL 3

    Je pense que cette solution répond à ce problème.


    Maintenant si tu veux supprimer les doublons dans ton flux de données, il existe un composant très pratique pour ça => tUniqRow.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Netsoro Voir le message
    Il te faut définir cpt dans le schema du composant tJavaFlex. dans mon schéma j'avais définis un CPT majuscule, apparemment toi tu le définis en minuscule, ainsi, tu pourras faire row4.cpt=++cpt;
    Salut Netsoro, je ne sais pas si j'ai manqué quelque chose mais j'ai toujours la même erreur. Voilà les setting de mon tjavafkex je crois bien qu'il n'y a pas d'erreur.
    Si j'ai bien compris, le message d'erreur voudrait dire que je n'ai pas déclaré de variable or je pense avoir suivi exactement ce que tu m'a proposé.

    Nom : Capture2.PNG
Affichages : 1208
Taille : 11,1 Ko

  15. #15
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Salut esmlo2,

    Citation Envoyé par esmlo2 Voir le message
    le message d'erreur voudrait dire que je n'ai pas déclaré de variable or je pense avoir suivi exactement ce que tu m'a proposé.
    Non, le message d'erreur ne veut pas dire que tu n'as pas déclaré de variable.
    Le message d'erreur veut dire que cpt n'est pas résolu ou n'est pas un champ => field. (variable != champ, Si c'est toujours l'erreur de la capture d'écran que tu avais postée)

    Donc je pense qu'il n'y a que 2 possibilités :

    Soit tu n'as pas ajouté de cpt (Integer) dans le schéma du tJavaFlex comme je t'avais expliqué dans un message précédent => Normal que tu aies cette erreur.

    Ou bien c'est n'est plus la même erreur, et que la nouvelle erreur veut dire "row4 ne peut être résolu en tant que variable" => ce qui serait normal aussi , car si à la sortie de ton composant tJavaFlex, tu n'as pas row4, et que tu as row5, ou row6 , ou row2, ou row[quelquee chose].

    Dans ce cas, dans la partie code principal de ton composant tJavaFlex tu dois utiliser : row[quelquee chose].cpt = ++cpt;
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Netsoro Voir le message
    Salut esmlo2,



    Non, le message d'erreur ne veut pas dire que tu n'as pas déclaré de variable.
    Le message d'erreur veut dire que cpt n'est pas résolu ou n'est pas un champ => field. (variable != champ, Si c'est toujours l'erreur de la capture d'écran que tu avais postée)

    Donc je pense qu'il n'y a que 2 possibilités :

    Soit tu n'as pas ajouté de cpt (Integer) dans le schéma du tJavaFlex comme je t'avais expliqué dans un message précédent => Normal que tu aies cette erreur.

    Ou bien c'est n'est plus la même erreur, et que la nouvelle erreur veut dire "row4 ne peut être résolu en tant que variable" => ce qui serait normal aussi , car si à la sortie de ton composant tJavaFlex, tu n'as pas row4, et que tu as row5, ou row6 , ou row2, ou row[quelquee chose].

    Dans ce cas, dans la partie code principal de ton composant tJavaFlex tu dois utiliser : row[quelquee chose].cpt = ++cpt;


    Oui j'avais mis du temps à comprendre la provenance du row4 avant que tu me l'explique mais merci bien. A ce propos je pense que j'ai suivi toutes les étapes comme il faut je ne sais vraiment pas d'où vient cette erreur.

    Nom : Capture3.PNG
Affichages : 1185
Taille : 40,5 Ko

    La capture ci-dessous est pareille à celle que tu as postée il me semble.


    Nom : Capture4.PNG
Affichages : 1201
Taille : 48,3 Ko

  17. #17
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Salut esmlo2,

    Je suis quasi sûre que tu n'as pas bien définis le schema de ton composant tJavaFlex_1, en tout cas c'est ce que le message d'erreur t'indique clairement, sans ambiguïté. donc c'est la première possibilité que je t'ai dis dans le message précédent.

    Peux tu nous afficher le Schema du composant tJavaFlex_1, en sélectionnant le composant tJavaFlex_1, puis click sur l'onglet Component, ensuite click sur "Edit Schema" ?

    Solution :

    Si tu ne l'as pas déjà fait, cliques sur le bouton +, qui t'ajoute un champ (Field), renomme le en cpt, changes son type de String en mets Integer, tape entrée puis OK.

    Je pense que c'est ça le problème.

    Sur l'exemple que j'ai fais voici le schema :

    Nom : schema-flex.png
Affichages : 1852
Taille : 32,8 Ko

    NB : Il faut noter que quasiment tous les composants Talend doivent avoir un schema, sauf quelques composants d'orchestration
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Netsoro Voir le message
    Salut esmlo2,

    Je suis quasi sûre que tu n'as pas bien définis le schema de ton composant tJavaFlex_1, en tout cas c'est ce que le message d'erreur t'indique clairement, sans ambiguïté. donc c'est la première possibilité que je t'ai dis dans le message précédent.

    Peux tu nous afficher le Schema du composant tJavaFlex_1, en sélectionnant le composant tJavaFlex_1, puis click sur l'onglet Component, ensuite click sur "Edit Schema" ?

    Solution :

    Si tu ne l'as pas déjà fait, cliques sur le bouton +, qui t'ajoute un champ (Field), renomme le en cpt, changes son type de String en mets Integer, tape entrée puis OK.

    Je pense que c'est ça le problème.

    Sur l'exemple que j'ai fais voici le schema :

    Nom : schema-flex.png
Affichages : 1852
Taille : 32,8 Ko

    NB : Il faut noter que quasiment tous les composants Talend doivent avoir un schema, sauf quelques composants d'orchestration


    Oui tu avais complètement raison merci pour la petite note, effectivement je n'avais pas attribué de schema au composant tjavaflex voilà d'où provenait cet petit bazar. Tout marche à merveille maintenant. Juste pour savoir, je voudrais appliquer ce même processus à 3 autres colonnes du même tableau, est-ce qu'il serait possible de le faire en une seule fois ou je devrais répéter le processus pour chaque colonne.

  19. #19
    Membre averti

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2011
    Messages : 160
    Points : 443
    Points
    443
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par esmlo2 Voir le message
    Oui tu avais complètement raison merci pour la petite note, effectivement je n'avais pas attribué de schema au composant tjavaflex voilà d'où provenait cet petit bazar.Tout marche à merveille maintenant.
    Cool, pour ça .

    Juste pour savoir, je voudrais appliquer ce même processus à 3 autres colonnes du même tableau, est-ce qu'il serait possible de le faire en une seule fois ou je devrais répéter le processus pour chaque colonne.
    Tout dépends de ce que tu appelles en une seule fois.

    Comme on dit un exemple vaut mieux qu'un long discours, donc poste un exemple de ce que tu as en entrée et ce que tu veux en sorti.

    En même temps, n'oublies pas de cliquer sur le bouton , pour les messages pertinentes, ça mets en valeurs ces messages et ça encourage les personnes qui t'aident de t'aider.
    Utilisez le bouton pour mettre en valeur la ou les réponses qui vous ont été les plus utiles. Marquez comme si c'est le cas.

    ''Le savoir est la seule matière qui s’accroît lorsqu’on la partage.''
    (Socrate)

  20. #20
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Netsoro Voir le message
    Cool, pour ça .



    Tout dépends de ce que tu appelles en une seule fois.

    Comme on dit un exemple vaut mieux qu'un long discours, donc poste un exemple de ce que tu as en entrée et ce que tu veux en sorti.

    En même temps, n'oublies pas de cliquer sur le bouton , pour les messages pertinentes, ça mets en valeurs ces messages et ça encourage les personnes qui t'aident de t'aider.
    Ok voilà ce que j'ai en entrée.

    Nom : Capture5.PNG
Affichages : 1208
Taille : 28,0 Ko

    Et voilà ce que je cherche comme output en appliquant la solution que tu as proposée.

    Nom : Capture6.PNG
Affichages : 1261
Taille : 35,8 Ko

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/01/2010, 14h47
  2. Réponses: 1
    Dernier message: 21/08/2009, 14h29
  3. Quel langage utiliser pour saisir des numéros d'images
    Par uself dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 22/11/2007, 10h32
  4. Quelle commande utiliser pour écrire des vecteurs en colonne ?
    Par minimel dans le forum Mathématiques - Sciences
    Réponses: 2
    Dernier message: 18/05/2007, 18h24
  5. Réponses: 3
    Dernier message: 11/11/2005, 15h52

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