0% ont trouvé ce document utile (0 vote)
108 vues9 pages

Tmap

Transféré par

Jacques René
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
108 vues9 pages

Tmap

Transféré par

Jacques René
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
(0410772028 13:16 ‘Les bonnes pratiques Talend > nextdecision & @ Accueil / Wiki / Les bonnes pratiques Talend Les bonnes pratiques Talend QUELQUES REGLES A OBSERVER POUR BIEN PRATIQUER TALEND Notre conseil pour bien pratiquer Talend : rester le plus simple possible ! * Nommer les composants, mettre des titres et des notes * Attention dla lisibilite + Eviter la barre de défilement horizontale, aligner les sous-jobs + Au-deld dune trentaine de composants, se poser Ia question de Ia division en plusieurs jobs (pére-fils?) Attention G l'organisation et aux noms des dossiers contenant vos jobs LES COMPOSANTS TALEND LES PLUS UTILISES tMap : C'est le composant le plus important et le plus puissant de Talend. II permet de réaliser les multi opérations (jointures, transformations, filtres, rejets...) Les expressions utilisées sont en Java. NB: IF THEN ELSE n'est pas autorisé ! Le nombre dentrées et sorties n'est pas limité officiellement, mais pour la maintenabilité, i! est fortement conseillé de limiter les entrées d un ou deux, les sorties peuvent étre nombreuses. tAgregateRow : Ce composant regoit un flux de données et fait une agrégation basée sur une ou plusieurs colonnes. Il permet détablir des métriques et des statistiques basées sur des valeurs ou des calculs. NB: Il faut faire attention ce que entrée et la sortie de Ia colonne soient identiques. Ce composant met par défaut la premiére colonne de sortie pour toutes les autres. Par rapport & SQL, ordre est & inverse : dabord Group By ensuite opérations Opérations : Min, max, somme, moyenne, compter, premier, dernier, liste... hips slwwnext-lecisionfwikibonnes-praiques-ilendi~text-iMap °43A C%27est le composant, expressions uliisées sont en Java. 19 wio7r2020 13:16 Les bonnes praiques Talend tSortRow : Ce composant trie les données dans un flux. Pour la performance du traitement, il est conseillé dutiliser ce composant avant et aprés une agrégation. tFilterRow : I filtre les données dans un flux. Dans Ia partie “avancé’, une expression Java peut étre utilisée. : La méthode simple et la méthode avancée ne peuvent pas étre cumulées. tFlowTolterate : Ce composant ne peut étre utilisé en début de chaine. Il permet la transformation d'une liste de valeurs en liste d’exécution. II effectue une itération sur les données d'entrée et génére des variables globales. || est utilisé afin de lire des données ligne par ligne. Dans le paramétre diterate il est possible de choisir le nombre dexécutions en paralléle, c'est de lexécution concurrentielle, ce qui permet que le traitement soit rapide. Dans ce cas, 'exécution est aléatoire. si lordre est important pour le traitement, ne pas utiliser cette méthode. tlterateToFlow : Ce composant permet de transformer des données non traitables en flux traitable. Ce composant ne peut étre utilisé en début de chaine. tFileList : Ce composant liste les fichiers d'un répertoire donné (possibilité de masque de fichier). La méthode a observer est la récursivité (inclure les sous-répertoires). Ce composant est capable dialer lire les fichiers recherchés dans tous les sous-dossiers et de les exécuter en méme temps. C'est le parallélisme. Il posséde des variables globales tels que : + CURRENT_FILE :nom du fichier courant CURRENT_FILEPATH : nom du fichier courant ainsi que son chemin d'accés CURRENT_FILEEXTENSION : extension du fichier courant CURRENT_FILEDIRECTORY : répertoire du fichier courant NB_FILE: nombre de fichiers itérés tLogRow: (Affichage par ligne) : C'est un excellent outil de débogage. II envoie les données vers la console. tNote ou Note : II permet dajouter des commentaires, une présentation, liste les @volutions du job. NB: Le composant est “Note” mais s‘appelle en tapant “tNote’ tMemorizeRow : Ce composant mémorise une ou plusieurs lignes et permet au(x) composant(s) suivant(s) deffectuer des opérations de votre choix sur les lignes mémorisées. Le nombre de lignes & mémoriser doit étre mis 4 2 ou plus. NB: En amont de ce composant, faire un tri en utilisant le composant tSortRow hips slww.next-lecision ffwkibonnes-pratiques-ilendi~text-iMap °43A C%27est le composant, expressions uliisées sont en Java. 29 (0410772028 13:16 ‘Les bonnes pratiques Talend tAggregateSortedRow : Ce composant recoit un flux de données triées sur lequel il effectue une agrégation basée sur une ou plusieurs colonnes. siles données sont déja triées, les performances n’en sont que plus optimisées tFixedFlowinput : Il permet de créer une mini table (colonne + lignes) avec des valeurs en dur. TALEND ET LES DIFFERENCES ENTRE TJAVA, TJAVAROW ET TJAVAFLEX Ces 3 composants permettent linsertion de codes Java personnalisés. Un composant Java comprend 3 parties : Begin, Main et End. tUava : Le tJava n'a qu'un Begin donc il ne s‘exécute qu'une fois. Il ne gére pas de flux de données (de type row) donc pas de sortie. Rattaché 4 un job ou 4 un sous-job par un trigger (onComponentOk ou onSubjobOk) tJava Row : Le tJava Row n'a que la partie Main. tJavaFlex : Le tavaFlex est similaire au tlava. La difference est qu'il crée automatiquement un flux de données en sortie @ partir du flux de données en entrée (done pas besoin d'initialisation). Ce composant a le begin, main et end. II peut donc 6tre mis seul ou en début de job, ou méme au milieu en prenant en compte le flux de données. C'est le plus flexible des trois. Fichiers plats : Talend lit et écrit différents types de fichiers plats tels qu’Excel, CSV, positionnel, xml. Chaque type de fichier posséde deux composants spécifiques (pour lire « Input », pour écrire « Output »). BDD : Talend lit et écrit les différents types de BDD tel que MSSQL, MYSQL, ORACLE. Les composants spécifiques principaux sont la connexion a la base de donnée, la lecture, 'écriture et le commit / roll back. TALEND ET QUELQUES NOTIONS JAVA égal : Différent = : Déclaration ou valorisation d'une variable en Java X00 J00 ou xxxx > 100 ou .90KK < 100 : Test sur Ia valeur d'un champ numérique “toto”.equals(“xxx’) / !"toto”.equals ("xxx") : Test dégalité / inégalité dun champ de type String hips slww.next-lecision ffwkibonnes-pratiques-ilendi~text-iMap °43A C%27est le composant, expressions uliisées sont en Java. 39 (0410772028 13:16 lend null ow 00x != null Null (Xxxx) /! Relational.isNull(Xxxx) : Test de Ia nullité ou non d'un champ. 00 Relations %00.isEmpty() / ! 000.isEmpty() : Teste si le champ est vide ou pas (vide <> null: un champ peut étre non null mais vide) Xoo. starts With ("xx") / ocx.endswith ("xx") : Commencer / Terminer par xxx, LIKE en SQL (vx%e") SQL ("ex") Xocx.contains ("xx") : Contenir xxx, LIKE en SQL ("%xx%") Boolean : True/ False (si la valeur est en string) ; 1/0 (si la valeur est en int) EXEMPLES DE CONVERSION TALEND Integer.valueOf(“xx0xx") : Conversion dun string en int String.valueOf(x00x) : Conversion d'un int en string variable.toString() ou x00 ‘onversion d'un int ou float en string Float.parseFloat("xxxx") : Conversion d'un char en float BigDecimal ("xxxx" ou xxxx) : Conversion en BigDecimal (de string ou integer) TalendDate.parseDate("dd/MM/yyyy","01/01/2020") : Conversion d'un string en date en précisant le format du string TalendDate.formatDate(“dd", XXX) : Afficher uniquement le jour; II faut que XXX soit au format Date (via parseDate si besoin). La sortie est au format string. StringHandling.LEFT (x00, y) / StringHandling.RIGHT (xoo0,y) : Récupération des Y caractéres de la chaine en partant de la gauche ou de la droite. Cette fonction propre a Talend protége des null. oa. substring(0,3) : Du premier au troisiéme caractére d'une chaine. Arrays.asList("X","Y").contains(xxxx) : Champ xxx dans Ia liste. Nécessite un « import jova.utiLArrays; » dans Advanced settings d'un tJavaRow, par exemple. hips slww.next-lecision ffwkibonnes-pratiques-ilendi~text-iMap °43A C%27est le composant, expressions uliisées sont en Java. 49 owio7/2029 13:16 Les bonnes pratiques Talend StringHandling.CHANGE(chaine ,"caractére & remplacer”, “caractére remplagant”)) : Substitution d'un caractére dans une chaine. Cette fonction propre a Talend protége des null, Math.abs(xxx) : Valeur absolue version Java (+ fiable), Talend retourne un Double dans tous les cas (10.0). TALEND ET LES TESTS TERNAIRES 2000 != null ? X90cx: null: (Test) ? Valeur si vrai : Valeur si faux LES EXPRESSIONS REGULIERES (REGEX) DANS TALEND Ces expressions servent a définir des modéles pour la recherche et la manipulation de et dans des strings. Exemple pour enlever les caractéres d'un string "I2zer45aaz43"replaceall("\\D+","); Résultat : 124543 LES ROUTINES DE TALEND Ce sont des classes java. Elles sont utilisées pour centraliser les transformations complexes et répétitives. Le code est soit développé directement sous ETL, soit importé avec des Jars externes (library java). La routine est appelée par IETL, sous la forme classe.methode (paramétre). LES VARIABLES DANS TALEND LES VARIABLES GLOBALES Elles sont liées 4 un composant et générées automatiquement en fonction du type de composant. Elles ne sont accessibles que dans le job courant. (scope = portée). Elles permettent daccéder a l'état du composant lié : Nom du fichier / Numéro de l'itération courante / message d’erreur ‘Syntaxe d'un appel 4 une variable : hips slww.next-lecision ffwkibonnes-pratiques-ilendi~text-iMap °43A C%27est le composant, expressions uliisées sont en Java. 59 (0410772028 13:16 ‘Les bonnes pratiques Talend (Type)globalMap.put(‘nom de variable’, “la variable’); --> déclaration d'une variable globale (String)system.out.printin(((String)globalMap.get("nom de variable’))); --> récupération de la variable globale déclarée VARIABLES DE CONTEXTE CONTEXT.XXXX Une variable de contexte peut avoir différentes valeurs selon le contexte (Dev, R7, PDR). Elles permettent d'exécuter le méme job dans différents contextes / environnements. Elles peuvent étre utilisées dans tout le projet en activant “Transmettre tout le contexte” dans les tRunJob. II est possible de revaloriser la variable dans un job. LES MESSAGES D'ERREURS FREQUENTS DANS TALEND Data Truncation : La longueur des données dun champ dépasse sa taille. En général, Talend indique le champ concerné, mais pas dans quelle ligne. java.lang.NullPointerException : Cela se produit généralement lors de l'utilisation d'un test ternaire dans un tMap et que le cas de nullité de objet en entrée n'a pas été traité. java.lang.NumberFormatexception:null : + Siconversion en nombre dune chaine de caractéres qui ne représentent pas un nombre. * Si l'objet est null : remplacer le null par une valeur par défaut (0). + Sila valeur est divisée par 0. put string : * Sile format ne correspond pas (int dans string par exemple). * Sil'en-téte du fichier intégré est traité comme une ligne. (nb ligne entéte) * Sile float (12.3) est écrit avec (12,3) : La virgule n'est pas acceptée. NB: Cette erreur n'empéche pas le traitement, il saute la ligne qui pose probléme et continue son traitement. Retour au Wiki Vous recherchez des consultants experts en Talend? Next Decision est ld ! alors Contactez-nous! BESOIN D'UNE REPONSE RAPIDEMENT ? Laissez-nous vos coordonnées et nous vous rappellerons sous 24 heures. hitpsslww.next-lecision ffwikibonnes-pratiques-ilendi~text-iMap °43A C%Z7est le composant,expressions ullisées sont en Java. 69 (0410712028 13:16 ‘Les bonnas pratiques Talend NOM (OBLIGATOIRE) PRENOM (OBLIGATOIRE) TEL (OBLIGATOIRE) MAIL (OBLIGATOIRE) Etre rappelé NOS AGENCES Nantes Paris Lille Lyon Bordeaux Ancenis Rennes Angers Brest Montpellier Toulouse hips slww.next-lecision ffwkibonnes-pratiques-ilendi~text-iMap °43A C%27est le composant, expressions uliisées sont en Java. 719 (0410712028 13:16 BREST ones > pe Pres NANTES - > TOULOUSE > MONTPELUER Navigation Z-NOUS Mentions gal Nos métiers Le décisionnel Big Data MDM Elaboration bud hips slww.next-lecision ffwkibonnes-pratiques-ilendi~text-iMap °43A C%27est le composant, expressions uliisées sont en Java. (0410772028 13:16 Les éditeurs hitps:luwunext-lecisionfiwikibonnes-pratiques-tlendit~text Les bonnas pratiques Talend lap %63A C%427est le composant expressions utlisées sont en Java. 99

Vous aimerez peut-être aussi