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

Discussion :

[Talend] Chargement qui gèle


Sujet :

Exécution et industrialisation

  1. #1
    Membre éprouvé Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : mars 2005
    Messages : 861
    Points : 1 261
    Points
    1 261
    Par défaut [Talend] Chargement qui gèle
    Bonjour à tous,
    J'essaye de charger les données retournées par une requête faite sur une base Oracle. Le problème est qu'à partir du 20ème enregistrement Talend ne fait plus rien : il ne charge plus de ligne et els secondes s'écoulent sans que j'ai d'erreurs.
    J'ai essayé de créé un autre job avec la même requête mais le problème subsiste.
    Ci-joint un screenshot du job, l'avertissement est un "schema is different from the query" généralement ça ne pose aps de problème et pour cette requête je n'arrive pas à faire la correspondance.

    SVP, auriez vous des pistes pour m'aider à comprendre ce problème ?

    J'utilise TOS v2.1.0 avec du code java.

    Merci d'avance

    Cordialement

    Ben

    edit : pas de problème avec les autres jobs
    Pensez à la fonction Recherche

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Pourriez-vous indiquer la requête que vous exécutez ?

    Avez-vous essayé d'écrire dans un fichier ?

  3. #3
    Membre éprouvé Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : mars 2005
    Messages : 861
    Points : 1 261
    Points
    1 261
    Par défaut
    Quand je remplace l'affichage de log par un fichier ça n'écrit rien (peut être car le job ne se termine pas...)par contre si je met une table avec commit every = 1 ça me fait les insertion dedans.

    la requête est là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    "select /*+rule*/
    l.sigtie as SIGTIE, l.idtrn as IDTRN,  l.datexpprv as DATEXPPRV, 
    l.codscl as CODSCL, l.camion as CAMION,  1 as COUNT,
    l.codsoc as CODSOC,l.sigtra as SIGTRA,c.idobjcol as IDOBJCOL,
    c.sigliv as SIGLIV,c.valzn2 as VALZN2,
       (select count(*)
     from   lcol
     where  lcol.codsoc = l.codsoc
       and  lcol.typtie = l.typtie
       and  lcol.sigtie = l.sigtie
       and  lcol.idtrn = l.idtrn
       and  lcol.codlnst = '5') as NB_PAL_COMPL,
    (select count(*)
     from   lcol
     where  lcol.codsoc = l.codsoc
       and  lcol.typtie = l.typtie
       and  lcol.sigtie = l.sigtie
       and  lcol.idtrn = l.idtrn
       and  lcol.codlnst != '5') as NB_PAL_DETAIL,   
    (select /*+ CHOOSE */ sum(qteunt/decode(qteunt3,0,qteunt,qteunt3))
     from   lobjstk, lcol
     where  lcol.codsoc = l.codsoc
       and  lcol.typtie = l.typtie
       and  lcol.sigtie = l.sigtie
       and  lcol.idtrn = l.idtrn
       and  lcol.codlnst != '5'
       and  lobjstk.codsoc = lcol.codsoc
       and  lobjstk.typtie = lcol.typtie
       and  lobjstk.sigtie = lcol.sigtie 
       and  lobjstk.idobjpere = lcol.idobj) as NB_COLIS_DETAIL_CAMION,
    (select /*+ CHOOSE */ sum(qteunt/decode(qteunt3,0,qteunt,qteunt3))
     from   lobjstk, lcol
     where  lcol.codsoc = l.codsoc
       and  lcol.typtie = l.typtie
       and  lcol.sigtie = l.sigtie
       and  lcol.idtrn = l.idtrn
       and  lcol.codlnst = '5'
       and  lobjstk.codsoc = lcol.codsoc
       and  lobjstk.typtie = lcol.typtie
       and  lobjstk.sigtie = lcol.sigtie 
       and  lobjstk.idobj = lcol.idobj) as NB_COLIS_COMPL_CAMION,
    (select /*+ CHOOSE */ sum(poids)
     from   lobjstk, lcol
     where  lcol.codsoc = l.codsoc
       and  lcol.typtie = l.typtie
       and  lcol.sigtie = l.sigtie
       and  lcol.idtrn = l.idtrn
       and  lcol.codlnst != '5'
       and  lobjstk.codsoc = lcol.codsoc
       and  lobjstk.typtie = lcol.typtie
       and  lobjstk.sigtie = lcol.sigtie 
       and  lobjstk.idobjpere = lcol.idobj) POIDS_DETAIL,
    (select /*+ CHOOSE */ sum(poids)
     from   lobjstk, lcol
     where  lcol.codsoc = l.codsoc
       and  lcol.typtie = l.typtie
       and  lcol.sigtie = l.sigtie
       and  lcol.idtrn = l.idtrn
       and  lcol.codlnst = '5'
       and  lobjstk.codsoc = lcol.codsoc
       and  lobjstk.typtie = lcol.typtie
       and  lobjstk.sigtie = lcol.sigtie 
       and  lobjstk.idobj = lcol.idobj) POIDS_COMPL,
    (select /*+ CHOOSE */ sum(lobjstk.volume)
     from   lobjstk, lcol
     where  lcol.codsoc = l.codsoc
       and  lcol.typtie = l.typtie
       and  lcol.sigtie = l.sigtie
       and  lcol.idtrn = l.idtrn
       and  lcol.codlnst != '5'
       and  lobjstk.codsoc = lcol.codsoc
       and  lobjstk.typtie = lcol.typtie
       and  lobjstk.sigtie = lcol.sigtie 
       and  lobjstk.idobjpere = lcol.idobj) VOLUME_DETAIL,
    (select /*+ CHOOSE */ sum(lobjstk.volume)
     from   lobjstk, lcol
     where  lcol.codsoc = l.codsoc
       and  lcol.typtie = l.typtie
       and  lcol.sigtie = l.sigtie
       and  lcol.idtrn = l.idtrn
       and  lcol.codlnst = '5'
       and  lobjstk.codsoc = lcol.codsoc
       and  lobjstk.typtie = lcol.typtie
       and  lobjstk.sigtie = lcol.sigtie 
       and  lobjstk.idobj = lcol.idobj) VOLUME_COMPL,
       (select /*+ CHOOSE */ sum ( decode (QTEUNT5, QTEUNT, decode (QTEUNT3, 0,0, (QTEUNT/ QTEUNT3)))) 
       from   lobjstk, lcol
     where  lcol.codsoc = l.codsoc
       and  lcol.typtie = l.typtie
       and  lcol.sigtie = l.sigtie
       and  lcol.idtrn = l.idtrn
       and  lcol.codlnst != '5'
       and  lobjstk.codsoc = lcol.codsoc
       and  lobjstk.typtie = lcol.typtie
       and  lobjstk.sigtie = lcol.sigtie 
       and  lobjstk.idobjpere = lcol.idobj) NB_BOX
    from ltrn l,
         (select l.codsoc, l.typtie, l.datexpprv, l.statut, l.codscl, l.codplntrn, l.camion, count(*) nbtrn
          from ltrn l
          where codsoc ='"+context.getProperty("soc")+"'
            and typtie = 'DEP'
            and statut = '8'
            and datmod='"+context.getProperty("datecharge")+"'
          group by l.codsoc, l.typtie, l.datexpprv, l.statut, l.codscl, l.codplntrn, l.camion
         ) ltrn_p,lcol c,lobjstk o
    where l.codsoc = ltrn_p.codsoc
      and l.typtie = ltrn_p.typtie
      and l.statut = ltrn_p.statut
      and l.datexpprv = ltrn_p.datexpprv
      and l.codscl = ltrn_p.codscl
      and l.codplntrn = ltrn_p.codplntrn
      and l.camion = ltrn_p.camion
      and c.codsoc = l.codsoc
       and  c.typtie = l.typtie
       and  c.sigtie = l.sigtie
       and  c.idtrn = l.idtrn
       and  o.codsoc = c.codsoc
       and  o.typtie = c.typtie
       and  o.sigtie = c.sigtie 
       and  o.idobj = c.idobj
       and(l.datmod='"+context.getProperty("datecharge")+"' or c.datmod='"+context.getProperty("datecharge")+"' 
    or o.datmod='"+context.getProperty("datecharge")+"')  
    "
    Malgrés les apparences elle s'exécute très rapidement (0.2 sec ^^) et si je fais un :
    select count(*) from (la_requete), le log m'affiche bien 210 ce qui est le nombre d'enregistrements que je devrais charger.

    Voici le contenu des lignes 20 et 21 :
    40;13688;20070712;7; ;1;12;LECASUD;57200004011094300;584; ;0;8;654;(null);2134,355;(null);7,442867222;(null);(null)
    40;13688;20070712;7; ;1;12;LECASUD;57200004011100300;584; ;0;8;654;(null);2134,355;(null);7,442867222;(null);(null)

    grand merci pour votre aide

    cordialement
    Pensez à la fonction Recherche

  4. #4
    Membre éprouvé Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : mars 2005
    Messages : 861
    Points : 1 261
    Points
    1 261
    Par défaut
    J'ai une piste !!
    la même requête mais sans le bout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
       (select /*+ CHOOSE */ sum ( decode (QTEUNT5, QTEUNT, decode (QTEUNT3, 0,0, (QTEUNT/ QTEUNT3)))) 
       from   lobjstk, lcol
     where  lcol.codsoc = l.codsoc
       and  lcol.typtie = l.typtie
       and  lcol.sigtie = l.sigtie
       and  lcol.idtrn = l.idtrn
       and  lcol.codlnst != '5'
       and  lobjstk.codsoc = lcol.codsoc
       and  lobjstk.typtie = lcol.typtie
       and  lobjstk.sigtie = lcol.sigtie 
       and  lobjstk.idobjpere = lcol.idobj) NB_BOX
    fonctionne très bien.
    Mais pourquoi ce bout fait planter Talend et pourquoi à la ligne 21 ? Là j'ai du mal :S

    edit :
    Si je remplace
    sum ( decode (QTEUNT5, QTEUNT, decode (QTEUNT3, 0,0, (QTEUNT/ QTEUNT3))))
    par
    sum ( case when QTEUNT5=QTEUNT Then ( case when (QTEUNT3=0 or QTEUNT3 is null) Then 0 Else QTEUNT/ QTEUNT3 end) else 0 end)

    Ca fonctionne nickel.

    Désolé d'avoir créé ce post pour pas grand chose au final.

    Problème signalé sur le forum officiel.
    Pensez à la fonction Recherche

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

Discussions similaires

  1. Access qui gèle
    Par No.Miss dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/07/2007, 19h00
  2. TALEND Chargement dans plusieurs tables Oracle?
    Par szoubir dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 09/05/2007, 12h03
  3. [Mailslot] application qui gèle
    Par Georgio dans le forum Delphi
    Réponses: 2
    Dernier message: 31/07/2006, 08h49
  4. Installation tomcat qui gèle
    Par klem86 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 20/07/2006, 16h20
  5. Réponses: 6
    Dernier message: 05/05/2005, 23h47

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