Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/05/2008, 12h00   #1
Invité régulier
 
Inscription : novembre 2005
Messages : 20
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2005
Messages : 20
Points : 9
Points : 9
Par défaut jointure table et fichier

Bonjour,


Je souhaite réaliser une jointure entre une table et un fichier afin de récupérer les informations de ces 2 flux.

Si j'utilise un tMap j'obtiens systématiquement une erreur "Exception in thread "Main Thread" java.lang.OutOfMemoryError" du fait du trop grand nombre de lignes à mapper, des millions.

Je me suis donc orienter vers le composant tJoin. Je coche la case "Include lookup columns in output" afin d'enrichir le flux main à l'aide de la jointure. Pareil... j'ai toujours le problème de mémoire. J'ai pourtant écrémé les données de la table avec une requête et celles du fichier avec un tFilterColumns.

Est-ce qu'il existe des options que j'ignore pour le tJoin ou un autre composant/méthode qui permettrait d'itérer à chaque nouvelle jointure trouvée plutôt que de passer à l'étape suivante après les avoir toutes trouvées?? Ou alors de traiter par intervalle les lignes d'un fichier?

Et elle est où la documentation du tJoin (rien dans la 2.3c en anglais)?


Merci

Talend 2.3.3
Java 1.5
akrylik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2008, 10h59   #2
Invité régulier
 
Inscription : novembre 2005
Messages : 20
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2005
Messages : 20
Points : 9
Points : 9
Par défaut solution

Je me répond à moi-même . En cas de dépassement de mémoire entraînant une erreur du type ["Exception in thread "Main Thread" java.lang.OutOfMemoryError"] dans le cas d'une jointure entre des fichiers et/ou des tables, on peut:

- allouer plus de mémoire lors du lancement du script en modifiant le paramètre -Xmx

- limiter au maximum l'utilisation du tMap si la jointure est possible par une requête SQL

- tenter le tJoin (penser à cocher "Include lookup columns in output" et à définir un bon schéma)

- utiliser la version 2.4.0.RC1. Cette version inclue un nouveau tMap permettant de spécifier le nombre d'enregistrements maximal à mettre en mémoire avant d'utiliser des fichiers temporaires. C'est l'option "store on disk" activable dans le "map editor" sur les flux en "lookup". Toutefois cette fonctionnalité et boggué... Il faut donc suivre les indications ("très claires") de "amaumont" dans une discussion du forum Talend http://www.talendforge.org/forum/vie...hp?id=2844&p=1. A noter que cette correction sera incluse dans la prochaine version.
akrylik est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h38.


 
 
 
 
Partenaires

Hébergement Web