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

kettle/PDI Discussion :

Problème avec les versions nouvelle Kettle (après 2.5)


Sujet :

kettle/PDI

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Dba
    Inscrit en
    Juillet 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Dba

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Problème avec les versions nouvelle Kettle (après 2.5)
    Bonjour a tous !

    J'ai une question sur la Kettle 3.1.0.
    Après la version 2.5, j’obtiens un message d'erreur lorsque j’essaye d'extraire des données d'une table dans un fichier Excel avec les noms de colonnes paramétrables.
    J’ai mis des variables avec les noms de colonnes pour obtenir un fichier Excel avec
    les noms des colonnes personnalisées.
    Le problème est que sur une colonne de type numérique on ne peut pas ajouter une valeur String(comme titre de la colonne)
    Apres la version 2.5 Spoon ne permet pas mixer plusieurs types de donnes sur une étape dans la transformation.
    Exemple j’ai une colonne ‘RATE’(valeurs INTEGER) est quand j’ajoute une valeur String comme le nom de cette colonne ‘RATE_NAME’ je reçois l’erreur :

    2009/02/18 18:33:12 - Select values.0 - ERROR (version 3.1.0, build 826 from 2008/09/30 12:32:36) : Unexpected error :
    2009/02/18 18:33:12 - Select values.0 - ERROR (version 3.1.0, build 826 from 2008/09/30 12:32:36) : org.pentaho.di.core.exception.KettleRowException:
    2009/02/18 18:33:12 - Select values.0 - ERROR (version 3.1.0, build 826 from 2008/09/30 12:32:36) : The data type of field #3 is not the same as the first row received: you're mixing rows with different layout. Field [RATE BigNumber] does not have the same data type as field [RATE String(4)].
    2009/02/18 18:33:12 - Select values.0 - ERROR (version 3.1.0, build 826 from 2008/09/30 12:32:36) :
    2009/02/18 18:33:12 - Select values.0 - ERROR (version 3.1.0, build 826 from 2008/09/30 12:32:36) : at org.pentaho.di.trans.step.BaseStep.safeModeChecking(BaseStep.java:1653)
    2009/02/18 18:33:12 - Select values.0 - ERROR (version 3.1.0, build 826 from 2008/09/30 12:32:36) : at org.pentaho.di.trans.step.BaseStep.getRow(BaseStep.java:1514)
    2009/02/18 18:33:12 - Select values.0 - ERROR (version 3.1.0, build 826 from 2008/09/30 12:32:36) : at org.pentaho.di.trans.steps.selectvalues.SelectValues.processRow(SelectValues.java:342)
    2009/02/18 18:33:12 - Select values.0 - ERROR (version 3.1.0, build 826 from 2008/09/30 12:32:36) : at org.pentaho.di.trans.step.BaseStep.runStepThread(BaseStep.java:2664)
    2009/02/18 18:33:12 - Select values.0 - ERROR (version 3.1.0, build 826 from 2008/09/30 12:32:36) : at org.pentaho.di.trans.steps.selectvalues.SelectValues.run(SelectValues.java:422)


    Merci d'avance.
    Images attachées Images attachées  

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    447
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 447
    Points : 546
    Points
    546
    Par défaut
    Salut,

    tu mélanges des flux de structure différentes!
    Tous les flux "mélangés" doivent avoir la même structure (nombre de champs, type ,...) car PDI effectue une Union.

    Tu as plusieurs possibilité de faire :

    1- utiliser une étape jointure produit cartésien pour ajouter ton champ variable d'environnement dans le flux principal ou alors directement ajouter l'étape ''récupération variable'' dans le flux.

    Samatar

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Dba
    Inscrit en
    Juillet 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Dba

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Problème avec les versions Kettle
    Citation Envoyé par samatar Voir le message
    Salut,

    tu mélanges des flux de structure différentes!
    Tous les flux "mélangés" doivent avoir la même structure (nombre de champs, type ,...) car PDI effectue une Union.

    Tu as plusieurs possibilité de faire :

    1- utiliser une étape jointure produit cartésien pour ajouter ton champ variable d'environnement dans le flux principal ou alors directement ajouter l'étape ''récupération variable'' dans le flux.

    Samatar

    Salut Samatar,

    Merci pour ta réponse mais je n’ai pas compris comment faire
    Tu as vu l’image attache dans ma question ?
    Dans l’étape Get Variable j’ai fait ce que tu dis, et ça ne marche pas
    Les flux mélangés dans ma transformation n’ont pas de structure différente (mais ils ont de type différent)
    Ici est le problème !

    Si tu peux aider moi, je serai très content !

    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    447
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 447
    Points : 546
    Points
    546
    Par défaut
    Peux tu attacher ta transformation?

    Merci

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Dba
    Inscrit en
    Juillet 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Dba

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Ma transformation
    Voilà ma transformation!
    Cette transformation est ok avec la version Kettle 2.5
    En utilisant version 3.1.0 j’obtiens l’erreur.
    Soit attentif, dans la dernière étape, j’ai omis le ‘Header’ pour le fichier final Excel, parce que je veut obtenir comme header les variables données.

    Merci beaucoup pour ton aide!

    Ghenadie
    Fichiers attachés Fichiers attachés

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    447
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 447
    Points : 546
    Points
    546
    Par défaut
    C'est bien ça :-)
    Il faut que les flux soient DE MËME structure (même champ avec même type de chaque côté,...)
    Ton champ RATE doit être de même type dans les 2 étapes (Table input et Get Variables).

    D'un côte c'est un nombre (Table Input), de l'autre côté c'est une chaine de caractères (il doit être l'un ou l'autre).

    Je te propose de le convertir dans Table Input en chaine de caractères (un TO_CHAR dans Oracle je crois).
    Tu auras probablement le même soucis avec ton champ "BEGIN_DATE" et "ORDER_SELECT".


    D'autre part, au lieu et à la place du tri, il est préférable d'utiliser une étape "prioritisation de flux" (append en anglais) dans PDI >=3.0 je crois.

    Tu peux aussi passer en français (Edition/Options puis onglet 'apparences'')


    Samatar

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Dba
    Inscrit en
    Juillet 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Dba

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Bonjour Samatar !

    J’ai compris que tu disais dans ta dernière réponse est c’est ça, mais voilà, ici est mon problème que je ne peux pas convertir(TO_CHAR) le valeurs de la colonne RATE parce que je veux obtenir dans le fichier final(Excel) une colonne NUMBER(le séparateur décimal est très important ici pour moi et tu sait, il dépend des paramétrages de l’ordinateur hôte)
    L’utilisateur de m’application peut ajouter/modifier des lignes dans ce fichier et après faire un import avec une autre transformation.
    Si je fais une conversion TO_CHAR pour ces valeurs j’obtiens une colonne STRING avec les séparateurs décimale de l’ordinateur serveur(en dur) où est installe l’application et si l’utilisateur ajoute nouvelles lignes avec ces paramètres système ça ne marche pas.
    Donc, j’ai compris, et suis très désole parce qu’on ne peut pas utilise des flux avec structure différente(type)
    Je remercie toi pour ton aide, je vais essayer encore pour résoudre ce problème !

    Merci

    PS : J’ai appris de toi une bonne chose ("prioritisation de flux" ou appends), ce chose m’aide beaucoup dans autres transformations

    Bonne journée !

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/12/2009, 11h12
  2. problèmes avec les différentes version de JVM & JDK
    Par Jcpan dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 02/01/2009, 18h01
  3. Réponses: 9
    Dernier message: 18/05/2006, 14h37
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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