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 :

Groupe de lignes dans tableau


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Profil pro
    DBA Oracle / MySQL / SQLServer
    Inscrit en
    Janvier 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : DBA Oracle / MySQL / SQLServer

    Informations forums :
    Inscription : Janvier 2005
    Messages : 95
    Points : 54
    Points
    54
    Par défaut Groupe de lignes dans tableau
    Bonour,

    Je galère vraiment avec Talend

    J'ai des lignes à traiter et elles dépendent d'autres lignes, voici un exemple :

    Jan 1 02:02:10 SERVER1 s=u0112APM044186 mod=mail cmd=env_from value=mail@domain1.com ofrom=admin@domain5.com qid=u0112APM044186 tls= routes= notroutes=tls_fallback
    Jan 1 02:02:10 SERVER1 s=u0112APM044186 mod=mail cmd=env_rcpt r=1 value=support@domain2.com verified= routes= r=0.5 c=22
    Jan 1 02:02:10 SERVER1 s=u0112APM044185 mod=session cmd=data from=mail@domain3.com suborg=
    Jan 1 02:02:10 SERVER1 s=u0112APM044185 mod=session cmd=data rcpt=support@domain4.com suborg=
    Jan 1 02:02:10 SERVER1 s=u0112APM044185 mod=session cmd=data rcpt_notroutes=default_inbound data_routes= data_notroutes=* val=2.258963258

    Pour chaque groupe de s= je dois aller chercher des infos dans des colonnes selon la valeur des champs mod et cmd.
    Il y a plusieurs centaines de milliers de lignes à traiter par jours.

    J'ai essayé avec tAggregateRow, tMap, tHashInput/output t je n'arrive pas à faire un truc qui fonctionne bien.

    Du coup j'aimerai constituer un tableau pour chaque groupe de s= et traiter chaque tableau avec du java.

    Pourriez vous m'indiquer comment créer un tel tableau svp ?

    Merci d'avance
    AF

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    La réponse :
    Tu peux utiliser le composant tArray pour créer un tableau que tu pourras traiter par du java.
    Ce composant est caché, il faut aller dans file/propriété du projet, puis Designer/palette Setting pour activer le composant ( en le passant dans le panneau a droite).

    Pour continuer avec des composants Talend :
    Maintenant je pense qu'on peut le faire avec des composants Talend sans code java.
    Je n'ai juste pas compris les phrases :
    je dois aller chercher des infos dans des colonnes
    Est ce que cela concerne des colonnes de table de base de donnée, ou des infos présent sur ta ligne ?
    J'ai des lignes à traiter et elles dépendent d'autres lignes,
    quelles sont ces relations entre lignes que tu évoques ?

    Si tu peux compléter ton exemple de 5 lignes avec des jeux de valeurs pour les colonnes requise et un exemple de ce que tu veux obtenir a la sortie cela pourra aider a trouver une solution.

  3. #3
    Membre du Club
    Profil pro
    DBA Oracle / MySQL / SQLServer
    Inscrit en
    Janvier 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : DBA Oracle / MySQL / SQLServer

    Informations forums :
    Inscription : Janvier 2005
    Messages : 95
    Points : 54
    Points
    54
    Par défaut
    Merci pour ta réponse.

    Par rapport aux lignes postées ci-dessus, voici le résultat que je voudrai obtenir :

    Jan 1 02:02:10 SERVER1 s=u0112APM044185 mail@domain1.com domain1 support@domain2.com domain2 0.5 22

    Je cherche la ligne avec cmd=env_from et récupère l'adresse dans value et je la coupe pour récupérer le domain.
    Pareil pour cmd=env_rcpt et je récupère en plus les colonnes r=0.5 c=22 en enlvant r=.

    Grosso modo c'est ça la difficulté en ayant simplifié le traitement...

    A partir de toutes ces lignes ayant un même id s= je fais une seule ligne.

    J'ai essayé avec un tmap mais c'est très complexe, c'est pour ça que je voulais l'écrire en java...

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Je comprend mieux
    mais ton exemple est pour u0112APM044186 et non pas u0112APM044185
    il y a 2 propriétées r= sur la 2eme ligne

    Voici un job qui traite ton exemple comme tu l as expliqué.
    Nom : forum.jpg
Affichages : 238
Taille : 63,7 Ko

    Et voici le job en question qui pourra te servir d'exemple pour traiter avec Talend ton fichier de log

    Jusqu'au tMap3, les composants prépare les données pour les traiter.
    Dans le tMap3 il y aura toutes tes règles de selection.
    les tSetGlobalVar sont la pour sauvegarder la cmd en cours et l'email

    Tu remplace le tLogRow par un composant fichierOutput
    Fichiers attachés Fichiers attachés

  5. #5
    Membre du Club
    Profil pro
    DBA Oracle / MySQL / SQLServer
    Inscrit en
    Janvier 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : DBA Oracle / MySQL / SQLServer

    Informations forums :
    Inscription : Janvier 2005
    Messages : 95
    Points : 54
    Points
    54
    Par défaut
    Ouahou merci ! :-)
    Je regarde...ça n'a pas l'air simple

  6. #6
    Membre du Club
    Profil pro
    DBA Oracle / MySQL / SQLServer
    Inscrit en
    Janvier 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : DBA Oracle / MySQL / SQLServer

    Informations forums :
    Inscription : Janvier 2005
    Messages : 95
    Points : 54
    Points
    54
    Par défaut
    Je n'arrive pas à importer le projet il semble que ta version de Talend soit plus rescente, nous, nous sommes en v5.6.1
    Y a t il une autre façon d'importer ou d'utiliser ces fichiers ?
    merci

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Salut,

    Moi je suis en 5.6.2. Il n'y a pas de solution pour importer en version inférieur.
    Tu peux télécharger un studio plus récent et faire l'import, tu auras l'exemple dans Talend

  8. #8
    Membre du Club
    Profil pro
    DBA Oracle / MySQL / SQLServer
    Inscrit en
    Janvier 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : DBA Oracle / MySQL / SQLServer

    Informations forums :
    Inscription : Janvier 2005
    Messages : 95
    Points : 54
    Points
    54
    Par défaut
    5.6.2 installée sur serveur de test. Tests en cours...

  9. #9
    Membre du Club
    Profil pro
    DBA Oracle / MySQL / SQLServer
    Inscrit en
    Janvier 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : DBA Oracle / MySQL / SQLServer

    Informations forums :
    Inscription : Janvier 2005
    Messages : 95
    Points : 54
    Points
    54
    Par défaut
    C'est exactement ce que je cherchais, merci encore.

    C'est pas facile j'aurai jamais trouvé ça tout seul !

    Le tMap_3 est assez compliqué je n'ai pas encore l'habitude...

    Bon weekend

  10. #10
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonne nouvelle.

  11. #11
    Membre du Club
    Profil pro
    DBA Oracle / MySQL / SQLServer
    Inscrit en
    Janvier 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : DBA Oracle / MySQL / SQLServer

    Informations forums :
    Inscription : Janvier 2005
    Messages : 95
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    Je voulais tester le cas adresse mail = vide et ne pas prendre en compte les lignes concernées.

    Dans le tMap_3 j'ai j'ai remplacé :

    Var.isMail ? " "+row3.value.substring(row3.value.indexOf("@")+1, row3.value.lastIndexOf(".")) : ""
    par

    Var.isMail && row3.value.contains("@") && row3.value.contains(".") ? " "+row3.value.substring(row3.value.indexOf("@")+1, row3.value.lastIndexOf(".")) : ""
    Néanmoins je n'ai pas réussi à faire le test not null
    Est ce que tu pourrais m'indiquer comment écrire la condition not null ?

    Merci d'avance
    AF

  12. #12
    Membre éclairé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2012
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juin 2012
    Messages : 376
    Points : 795
    Points
    795
    Par défaut
    Citation Envoyé par AnkyFive Voir le message
    Néanmoins je n'ai pas réussi à faire le test not null
    Est ce que tu pourrais m'indiquer comment écrire la condition not null ?

    Merci d'avance
    AF
    Bonjour,

    Il aurait été bon de faire un nouveau sujet.

    Cependant, pour tester si un champ est null, il y a la fonction Relational.ISNULL(variable)Cordialement,

  13. #13
    Membre du Club
    Profil pro
    DBA Oracle / MySQL / SQLServer
    Inscrit en
    Janvier 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : DBA Oracle / MySQL / SQLServer

    Informations forums :
    Inscription : Janvier 2005
    Messages : 95
    Points : 54
    Points
    54
    Par défaut
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Package "easytab" & épaisseur de ligne dans tableau
    Par Surikat14 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 27/08/2007, 13h53
  2. Ajouter ligne dans tableau / Ajouter checkbox & signet
    Par TIREUR dans le forum VBA Word
    Réponses: 5
    Dernier message: 16/06/2007, 00h45
  3. ajout ligne dans tableau sous IE
    Par n00noors dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/07/2006, 12h55
  4. recherche lignes dans tableau excel
    Par BODIGUEL dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/05/2006, 19h08
  5. wysiwyg inserer ligne dans tableau
    Par flatron dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 07/02/2006, 14h55

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