Talend par la pratique
Introduction
Dans ce chapitre dédié exclusivement à la pratique de l’ETL Talend, nous allons explorer les composants les plus utilisés par les développeurs Talend, les Data Analysts, les Data Engineers et d’autres profils utilisant Talend Open Studio. Que vous soyez débutant et créiez vos premiers jobs ou expérimenté dans l’implémentation de jobs complexes, nous allons passer en revue ces composants pas à pas. Nous aborderons également l’orchestration de plusieurs jobs, y compris ceux que nous avons déjà étudiés ensemble. Nous aurons également l’occasion d’aborder, par la pratique, les notions décrites dans le chapitre Présentation, installation et définitions avec des explications détaillées pour un développement optimal des jobs Talend, ainsi que la détection et la résolution des erreurs aussi appelées débogage.
Premiers pas avec Talend Open Studio 8
Une fois Talend installé, nous devons nécessairement créer un projet, importer un projet démo ou importer un projet existant (figure ci-dessous).
Dans cette section, nous allons importer l’un des projets de démonstration fournis par Talend, en mettant en œuvre une présentation de tous les éléments qui le constituent, ainsi qu’une présentation de l’interface générale de l’ETL.
Pour rappel, un projet est un ensemble structuré d’éléments techniques et de leurs métadonnées associées ; ce qui veut dire que nous ne pouvons créer des jobs et effectuer des traitements sur des données, sans avoir créé ou importé un projet.
Pour créer un projet dans Talend, cochez Créer un projet puis donnez un nom au projet. Cliquez ensuite sur Créer puis sur Terminer.
Création de projet
Il est possible de créer plusieurs workspaces (référentiels), notamment lorsque plusieurs utilisateurs accèdent au même Studio sur la même machine mais qu’ils ne souhaitent pas mélanger leurs projets.
Pour cela, cliquez sur Gérer les connexions.
Gérer les connexions
Pour supprimer un projet, cliquez sur Supprimer le(s) projet(s) existant(s), sélectionnez le projet souhaité et cliquez sur OK.
Pour importer...
Job 0 : création d’un job
Dans cette section, nous allons illustrer la méthode la plus facile qui soit pour créer un nouveau job au sein d’un projet créé en amont.
Effectuez un clic droit sur Jobs puis cliquez sur Création d’un nouveau job.
Remplissez les informations relatives au job créé.
Création d’un job
Fenêtre générée par la création du job
Job 1 : générer un fichier XML à partir d’un fichier CSV
Dans cette section, nous allons voir ensemble, pas à pas, comment implémenter un job qui permet de générer un fichier XML à partir d’un fichier CSV.
Un fichier délimité CSV dans Talend est représenté par le composant tFileInputDelimited.
Deux méthodes sont possibles pour appeler un composant en général et le composant tFileInputDelimited en particulier dans Talend.
La première consiste à écrire quelques lettres du nom du composant, par exemple en écrivant tfile dans la palette à gauche de l’interface Talend.
Recherche du composant tFileInputDelimited dans la Palette
Une fois que vous avez trouvé le composant qui vous intéresse, vous pouvez le glisser dans l’interface du job.
La deuxième méthode consiste à écrire quelques lettres du nom du composant, par exemple tfile en effectuant un clic gauche dans l’interface du job créé.
Vous pouvez faire la même chose pour faire appel au composant tFileOutputXML.
Création des composants d’entrée et de sortie + Connexion Row Main
Création d’un schéma de données
Les schémas définissent de quelle manière la donnée est transportée par le job. Tout composant qui gère un flux de données fournit un Editeur de schéma qui permet de visualiser et définir les schémas utilisés par le composant.
Dans la figure précédente, comme le composant tFileOutputXML n’est pas configuré, l’icône est en rouge, les paramètres de sortie devant avoir au moins une valeur.
Dans ce cas, cliquez sur le composant de sortie puis sur Modifier le schéma, une fenêtre va s’ouvrir et vous pourrez créer un schéma.
Figure générée pour modification du composant de sortie
Pour générer un schéma, vous pouvez cliquer sur le symbole . Ensuite, ajoutez une colonne en entrée et attribuez-lui un nom explicite ainsi qu’un type approprié. Si vous souhaitez que cette colonne soit la clé de la table (avec des valeurs uniques qui ne se retrouvent dans aucune autre ligne), cochez la case Clé. Vous pouvez également utiliser cette clé pour effectuer des jointures, comme expliqué dans le chapitre Talend et les bases de données SQL.
Création de schéma
Le schéma en entrée (à gauche) doit toujours correspondre...
Job 2 : utilisation des liens déclencheurs
Le lien déclencheur if sert à vérifier si une condition est satisfaite, par exemple pour vérifier si un fichier existe ou pas.
Méthode
Créez un job et générez un composant tFileExist et deux composants tJava.
Création et indication du fichier à chercher
Générez deux tJava qui renvoient respectivement du code Java « présent » et « absent ».
Affichage en cas de présence du fichier
Faites un clic droit sur tFileExists.
Cliquez sur Déclencheur.
Mettez un déclencheur de type Run if entre tfileExists et les deux tJava.
Condition if schématisée
Affichage de « present » dans la log (console) (le fichier existe)
Résultat en modifiant le nom du fichier, le fichier est absent
Dans Talend, le ELSE n’existe pas.
Création et utilisation des groupes et variables de contexte
Un contexte décrit les paramètres prédéfinis appliqués lors de l’exécution d’un job.
Un contexte est utile, entre autres, pour variabiliser le chemin afin d’exécuter les jobs dans différents environnements mais aussi pour des raisons de sécurité.
1. Pourquoi ?
En environnement de production, les clients expriment généralement des exigences de sécurité, ce qui rend problématique de fournir un accès direct au fichier de données, car cela constituerait une faille de sécurité du système. Par conséquent, il est nécessaire d’externaliser tous les accès aux données pour remédier à cette situation.
Les variables de contexte sont des valeurs qui peuvent changer selon le fait que le job est exploité dans un environnement de développement, de test, de production ou autre. Les valeurs peuvent également changer avec les changements d’environnements. Par exemple, pour les mots de passe, ces variables sont contenues dans des groupes appelés « groupes de contextes ».
2. Méthode
Dans le référentiel, allez sur Contextes, puis sur Créer un nouveau contexte.
Cliquez sur le bouton + pour ajouter une variable....
Job 3 : utilisation du composant tConvertType
Le but de ce job Talend est de convertir le type de données des colonnes d’un fichier dans tFileInputDelimited. Il peut s’agir d’une conversion du type Double (nombre réel) vers Integer, Integer vers String, String vers Integer ou encore Date vers String. Pour cela, procédez comme suit :
Création du tFileInputDelimited et mise à jour du format du libellé
Paramétrage et importation du schéma du fichier source
Cochez la conversion automatique pour tConvertType, synchronisez le schéma et modifiez-le ensuite (modification du type de sorties).
Résultat de conversion
Vous remarquerez que dans la transformation DoubleToInt, le système n’a pris en compte que la partie entière du chiffre (999 pour une valeur initiale de 999,9).
Les composants utilisés dans le job
Job 4 : échantillonnage de données
Le but de ce job SAMPLE_DATA est de prélever un échantillon de données à partir d’un fichier plat de type texte.
Composants utilisés et paramétrage du tFileInputDelimited_1
Paramétrage du tSampleRow
Dans ce job Talend, il est demandé au composant tSampleRow de prélever les données contenues dans les lignes 1 et 5, ainsi que les données contenues entre la ligne 10 et la ligne 20 du fichier SUPPLIERS.txt.
Paramétrage du tLogRow pour un affichage sous forme de tableau
Résultat du job
Job 5 : agréger et trier des données
Le but de ce job Talend tAGGREGATEROW est d’agréger puis de trier les données du fichier AggregationInput.csv et d’insérer le résultat du job dans un autre fichier AggregationOutput.csv.
Job et paramétrage du tFileInputDelimited_1
Paramétrage du composant tAggregateRow
Dans les paramètres du composant tAggretaeRow, Group by signifie que nous allons afficher les opérations contenues dans la partie Opérations par état (STATE), soit le salaire maximum (MAX_SALARY), le salaire minimum (MIN_SALARY), et le salaire moyen (AVG_SALARY) par état.
Le fichier en entrée traite les salaires aux États-Unis, c’est pour cela que nous parlons d’état et non de ville ou autre.
Pour ajouter une opération, cliquez sur le + vert, et faites de même pour le Group by.
Paramétrage du tSortRow
Le critère, comme nous pouvons le voir, a été positionné sur STATE (la colonne concernée par le Group by précédemment), et le tri sur Alpha, ce qui signifie que le type de données de cette colonne est alphanumérique. Enfin, l’ordre du tri dans le fichier en sortie doit être alphanumérique ascendant (dans ce cas, par ordre alphabétique des noms des états, vu qu’aucun nom d’état...
Job 6 : filtrer les colonnes d’un fichier CSV
Le but de ce job Talend tFILTERCOLUMNS est de filtrer les colonnes d’un fichier CSV, c’est-à-dire de ne retourner en sortie que certaines colonnes du fichier d’entrée nommé FilterColumnsInput.csv.
Job et paramétrage du composant tFileInputDelimited
Paramétrage du composant tFilterColumns
Pour paramétrer le composant tFilterColumns, il suffit de modifier le schéma en entrée en sélectionnant seulement les colonnes à retourner en sortie.
Paramétrage du composant tFileOutputExcel
Job 7 : filtrer les données des lignes d’un fichier
Dans ce job Talend tFILTERROW, nous allons apprendre à filtrer les données contenues dans les lignes d’un fichier .csv, et à retourner les lignes qui satisfont les conditions dans un composant tFileOutputDelimited_1, et les autres lignes dans le composant tFileOutputDelimited_2 comme illustré ci-après.
Job et paramétrage du composant tFileInputDelimited
Le composant tFilterRow dispose d’un lien de type Reject pour retourner les lignes qui ne remplissent pas les conditions dans un autre fichier.
Paramétrage du composant tFilterRow
Dans ce composant, nous demandons à Talend de ne retourner en sortie que les lignes qui contiennent la valeur Adams pour le champ LastName.
Nous avons utilisé comme Opérateur logique utilisé pour combiner les conditions, l’opérateur Et pour ajouter la condition permettant de ne retourner que les personnes ayant un salaire (Salary) supérieur à 6000.
Paramétrage du composant tFileOutputDelimited_2
Le composant tFileOutputDelimited_2 sert à capter les lignes ne remplissant pas les conditions, et à les mettre dans un fichier FilterRowError.csv.
Paramétrage du composant tFileOutputDelimited_1
Les contextes utilisés pour ce job
Job 8 : les variables globales
Dans ce job Talend GlobalVariables, nous allons voir comment utiliser les variables globales et en quoi elles peuvent être utiles pour récupérer une valeur.
Job et paramétrages du tFileInputDelimited
Paramétrages du tFileOutputDelimited
Variables globales utilisées et code Java Dans le composant tJava
Pour appeler et utiliser une variable globale dans un composant tJava par exemple, il suffit de la glisser et de la déposer dans la partie réservée au code.
Les variables globales se trouvent dans l’onglet Outline à gauche dans l’écran ci-dessus. Vous pouvez dérouler le nom du composant à partir duquel vous souhaitez extraire une information afin d’afficher toutes ses variables globales.
Le texte se trouvant entre deux guillemets, à savoir "Number of rows : " et "and the Path to file : ", correspond au texte devant être affiché en intégralité. Il faut définir le texte à afficher pour les variables retournées par les variables globales
Les signes + sont là pour concaténer le texte avec les variables globales.
System.out.println() correspond à du code Java qui indique au composant d’afficher le texte et le code qui se trouvent entre les parenthèses.
Enfin, le code dans le composant tJava doit...
Job 9 : les variables globales avec tSetGlobalVar
Dans ce job Talend appelé tSetGlobalVars, nous allons voir comment créer et utiliser facilement une variable globale à l’aide du composant tSetGlobalVar.
Aperçu du job tSetGlobalVars et des composants utilisés
Paramétrages du composant tFileInputDelimited
Le groupe et les variables de contexte utilisés
Dans ce job, seules les variables de contexte InPutDATA et OutPutDATA sont utilisées.
Paramétrages du composant tFileOutputDelimited
Création de variables globales avec le composant tSetGlobalVar
Dans le composant tSetGlobalVar, nous avons créé deux variables globales que nous pourrons appeler par leurs noms, que ce soit dans un composant tJava ou dans un autre composant qui le permet.
La première variable globale, nommée GLOBAL_VAR_PATH_Name, contient la valeur du nom de fichier de sortie correspondant au nom du fichier dans le composant tFileOutputDelimited, où il est désigné par "File’s".
La deuxième variable globale, appelée FORM_REP, stocke en elle la valeur Talend 8 en clair.
Pour appeler et afficher les variables, il suffit de créer un composant tJava et d’y ajouter les clés des variables globales insérées de la fonction ((String)globalMap.get()) comme dans la figure ci-dessous :
Appel des variables globales...
Job 10 : manipulation de dossiers et copie de fichiers
Ce job Talend IF_CONDITION permet de copier un ou plusieurs fichiers d’un dossier à un autre et d’afficher un message d’erreur si la copie ne s’effectue pas correctement.
Job et paramétrage du composant tFileList
Dans l’exemple ci-dessus, le composant tFileList permet de lister tous les fichiers portant l’extension .txt et qui se trouvent dans le répertoire spécifié précédemment.
Paramétrages du composant tFileCopy
Le composant tFileCopy permet de copier les fichiers listés avec le composant tFileList.
Paramètres du composant tFileCopy et variables globales de tFileList (à gauche)
Dans les paramètres du composant tFileList, le champ Nom de fichier renvoie à la variable globale qui permet de retourner le chemin des fichiers .txt précédemment déclarés.
Les variables globales sont associées au composant et sont automatiquement générées en fonction du type de composant. Elles sont accessibles uniquement dans le job en cours et leur portée est limitée à ce job.
Les variables globales permettent d’accéder à l’état des composants, comme par exemple le nom de fichier, le nombre d’itérations en cours, le message d’erreur.
La syntaxe d’appel de variable peut...
Contexte implicite
Pour chaque job ou projet, il est possible de créer un contexte implicite, ce qui signifie que les valeurs des variables de contexte et/ou les chemins vers des fichiers peuvent être stockés et appelés directement à partir d’un fichier, sans avoir à créer un contexte dans Talend.
Pour ce faire, positionnez votre souris sur le job dans lequel vous voulez créer un contexte implicite, puis, dans la vue générale de Talend, allez dans Fichier et cliquez sur Modifier les propriétés du projet.
Une fenêtre appelée Paramètres du projet s’ouvre.
Fenêtre Paramètres du projet
Dans cette fenêtre, déroulez Paramètres du Job puis allez dans Chargement implicite d’un contexte.
Vue du Chargement implicite d’un contexte
Dans cette fenêtre, cochez tContextLoad implicite et sélectionnez Depuis le fichier. Ensuite, indiquez le chemin vers le fichier contenant les contextes et cliquez sur Apply and Close.
Chemin du fichier de contexte
Le fichier de contexte se trouve dans le répertoire PROPERTIES et il porte le nom du job sur lequel vous vous êtes positionnés. Son extension est .txt.
Liste des contextes dans le fichier
Si vous voulez utiliser le contexte FileSource, par exemple, il suffit de créer une variable de contexte dans le job, de l’appeler FileSource...
Job 11 : génération de lignes avec tRowGenerator
Dans ce job Talend appelé LINKS, nous allons générer des lignes constituées de lettres aléatoirement générées par le composant tRowGenerator, nous allons afficher ces lignes dans la log à l’aide du composant tLogRow, puis nous allons apprendre à déboguer les erreurs affichées dans la console de log, et enfin, nous allons afficher un message qui contient la date d’exécution du job à l’aide du composant tMsgBox.
Le job Talend Links
Le composant tRowGenerator permet de générer des données aléatoires ou de générer un ID unique pour des données.
Dans ce job, un schéma contenant deux colonnes, ID et Colonne1, a été créé. Il a ensuite été demandé au composant tRowGenerator de générer 100 lignes qui contiennent des données avec une longueur égale à six caractères pour les deux colonnes ID et Colonne1, grâce à la fonction prédéfinie :
TalendString.getAsciiRandomString(int)
Paramétrages du composant tRowGenerator
Cliquez sur Aperçu dans les paramètres du tRowGenerator pour afficher un aperçu des données qui vont être générées par le composant.
Aperçu...
Job 12 : le contexte implicite avec tContextLoad
Dans ce job Talend CONTEXTLOAD nous allons voir comment utiliser un contexte implicite à l’aide du composant tContextLoad.
Pour cela, transmettez au composant tContextLoad le fichier où se trouvent les contextes à utiliser en donnant le chemin du fichier au composant tFileInputDelimited_2.
Job et paramétrages du composant tFileInputDelimited_2
Toujours dans le composant tFileInputDelimited_2, créez deux variables de contexte portant le même nom que celles se trouvant dans le fichier à utiliser, à savoir Context.txt.
Création des variables de contexte
Données dans le fichier de contexte
Paramètres du tContextLoad
Le composant tContextLoad doit avoir les mêmes variables de contexte que le composant tFileInputDelimited_2. Les variables de contexte doivent être les mêmes également dans le fichier Context.txt.
Dans la deuxième partie du job, nous allons directement mettre les noms des contextes suivi du nom du fichier généré en sortie, que ce soit pour le composant tFileInputDelimited_1 ou pour tFileOutputDelimited_1.
Paramétrage du tFileInputDelimited_1
Paramétrage du tFileOutputDelimited_1
Job 13 : générer des avertissements et capturer les erreurs
Dans ce job Talend Errors_and_Logs, les composants tWarn, tLoop, tDie et tLogCatcher (entre autres) vont être utilisés afin de générer des avertissements et capturer les éventuelles erreurs survenues lors de l’exécution du job.
Job et paramètres du composant tWarn
tWarn est un composant qui déclenche un avertissement souvent détecté par le composant tLogCatcher pour un journal exhaustif.
tLoop est un composant qui exécute une tâche automatiquement, en fonction d’une boucle (peut-être d’une manière infinie, tInifiniteLoop).
tFileExist est un composant qui permet de vérifier si un fichier existe.
tDie est un composant qui permet, s’il y a une erreur, de mettre fin au job, il déclenche le composant tLogCatcher pour un journal exhaustif avant de supprimer le job.
tRowGenerator est un composant qui permet, si un fichier existe, de continuer le job. Il permet également de générer des données aléatoires ou de générer un identifiant unique pour des données.
tLogCatcher est un composant qui rassemble les métadonnées de traitement de la tâche au niveau de la tâche et au niveau du composant, et transfère les données au composant suivant pour affichage ou stockage.
Dans ce job...
Job 14 : orchestration des jobs
Le job Talend SUBJOB permet d’orchestrer deux jobs complémentaires de sorte que le deuxième s’exécute dès lors que le premier est exécuté sans générer d’erreur.
Pour illustrer l’orchestration des jobs, prenons les deux jobs vus précédemment, à savoir tFILTERCOLUMNS et tFILTERROW.
Job et paramétrage du subjob tFILTERCOLUMNS
Pour réaliser un job d’orchestration, il suffit de glisser les jobs à orchestrer depuis le Référentiel vers l’espace de travail Talend.
En effectuant un double clic sur l’un des jobs, Talend renvoie directement vers le job en question en ouvrant de nouveaux onglets, tout en gardant l’onglet de départ actif.
Il est à noter que le déclencheur entre les deux jobs est OnSubjobOk et permet au deuxième job de s’exécuter si et seulement si le premier s’est exécuté sans erreur.
Exemple d’un double clic sur le job tFILTERROW à la suite de tFILTERCOLUMNS
Paramétrage du subjob tFILTERROW dans le job SUBJOB
Job 15 : chronométrer le temps d’exécution d’un job
Le job Talend tCHRONOMETER permet de chronométrer le temps d’exécution d’un job. Pour ce faire, de nouveaux composants tels que tPrejob, tPostjob, tChronometerStart, tChronometerStop vont être utilisés.
Afin de mieux prendre en main ce job, il est nécessaire de présenter les composants.
tPrejob est un composant conçu pour déclencher l’exécution d’une tâche avant l’exécution du job principal.
tPostjob est un composant conçu pour déclencher l’exécution d’une tâche après l’exécution du job principal.
tChronometerStart est un composant qui fonctionne comme un chronomètre qui démarre le calcul du temps de traitement d’une ou plusieurs sous-tâches dans la tâche principale.
tChronometerStop est un composant qui fonctionne comme un chronomètre qui arrête de calculer le temps de traitement d’une ou plusieurs sous-tâches dans la tâche principale, ou qui arrête de calculer le temps de traitement d’une partie de la sous-tâche. tChronometerStop affiche le temps d’exécution total.
Les trois premiers composants présentés pour ce job (tPrejob, tPostjob et tChronometerStart) n’ont pas de paramètres.
Paramètres...
Job 16 : tLibraryLoad pour vérifier la validité d’adresses e-mail
Le job Talend tLibraryLoad permet d’importer une libraire dans Talend afin de vérifier la validité d’une adresse e-mail, à l’aide du composant tLibraryLoad et du composant tJava.
Job et bibliothèque à télécharger
Cette bibliothèque (jakarta-oro-2.0.8.jar), qu’il est possible de trouver et télécharger gratuitement en tapant son nom sur un moteur de recherche, consiste en un ensemble de classes Java de traitement de texte qui fournissent des expressions régulières (regex) compatibles avec Perl5.
Après le téléchargement de cette bibliothèque sur le disque dur de l’ordinateur, cliquez sur les trois points et sélectionnez la libraire afin qu’elle soit importée dans Talend et plus précisément dans le composant tLibraryLoad.
Code dans le composant tJava
Dans ce code Java, commencez par déclarer l’e-mail que vous voulez vérifier. Les deux lignes suivantes sont des assignations, la première est utilisée pour créer un nouveau Matcher qui permet de vérifier si l’adresse e-mail saisie respecte les règles définies dans l’expression régulière et la deuxième est utilisée pour créer un nouveau...
Job 17 : calculer la distance de Levenshtein entre des mots
Le job Talend tFuzzyMatch permet de calculer la distance de Levenshtein entre le mot hello et d’autres mots comme hi, hani, Hello.
Job et composants utilisés
Paramétrage du composant tRowGenerator
À l’aide du composant tRowGenerator, dix lignes de type String ont été générées dans une colonne appelée word et dans laquelle les valeurs adéquates ont été insérées.
Paramétrage du composant tFixedFlowInput
Comme son nom l’indique, le composant tFixedFlowInput sert à fixer un mot auquel il est possible de comparer d’autres mots (ceux qui ont été déclarés dans le composant tRowGenerator).
Paramétrage du composant tFuzzyMatch
Le composant tFuzzyMatch sert à comparer une colonne du flux principal (qui se trouve dans tRowGenerator) avec une colonne de référence du flux de recherche (qui se trouve dans tFixedFlowInput). Il génère les données de flux principal affichant la distance.
Les paramètres du composant tFuzzyMatch ont été configurés avec le Type de correspondance "Levenshtein" et la recherche dans un dictionnaire contenant la valeur "hello" provenant du composant tFixedFlowInput. La distance minimale a été définie...
Job 18 : utilisation du composant tJavaFlex
Le composant tJavaFlex est similaire au composant tJava. La différence réside dans le fait que le composant tJavaFlex crée un flux de données en sortie à partir du flux de données en entrée (aucune initialisation n’est donc nécessaire). Ce composant contient trois parties : Begin, Main et End. Il peut donc être placé seul ou en début de job, ou même au milieu en prenant en compte le flux de données.
JOB_tJavaFlex et résultat dans la console
Méthode
Déposez un composant tFileInputDelimited, un composant tJavaFlex et un composant tFileOutputDelimited dans l’espace de modélisation graphique de Talend.
Reliez les composants avec des liens Row Main.
Importez le fichier source, ici nommé employés, avec le composant tFileInputDelimited puis définissez son Schéma et mettez 1 dans en-tête, l’en-tête de fichiers ne correspondant pas à une donnée à afficher.
Dans le composant tFileOutputDelimited, paramétrez le dossier de sortie du fichier et construisez le Schéma s’il n’existe pas tout en cochant la case Inclure l’en-tête.
Paramétrez le composant tJavaFlex en mentionnant dans la partie code initial :
System.out.println("Content of file being transferred:\n");...
Job 19 : utilisation du composant tIntervalMatch
Le job Talend tIntervalMatch permet de détecter automatiquement si un véhicule est une voiture (car), un camion (truck) ou un grand camion (big truck). Pour cela, le composant tRowGenerator est utilisé pour générer des données aléatoires contenant une colonne pour le matricule du véhicule et une autre colonne pour son poids. Une base de connaissances est également utilisée sous forme d’un fichier texte (tFileInputDelimited), spécifiant l’intervalle du poids du véhicule pour considérer qu’il s’agit d’une voiture, d’un camion ou d’un grand camion. Le résultat du job est retourné dans la console grâce au composant tLogRow.
Paramétrage du composant tRowGenerator
Job et paramétrage du composant tFileInputDelimited
Aperçu de la base de connaissances
Paramétrage du composant tIntervalMatch
Dans le paramètre Colonne de recherche, la valeur weight correspond au poids du véhicule généré de façon aléatoire par le composant tRowGenerator.
Le paramètre Colonne (LOOKUP) correspond au nom de la première colonne du fichier de base de connaissances.
Le paramètre Colonne Lookup (min) nécessite de spécifier le nom de la deuxième colonne du fichier de base...
Job 20 : utilisation du composant tFileInputPositional
Un fichier positionnel est un fichier plat où les enregistrements positionnels d’un message d’instance du fichier plat contiennent des champs individuels (éléments de données) qui ont chacun une longueur prédéfinie. Les champs sont analysés selon ces longueurs.
Le job Talend tFileInputPositional permet de créer un fichier positionnel, de l’enregistrer dans les métadonnées, de le paramétrer selon les besoins et enfin de l’utiliser grâce au composant tFileInputPositional.
Emplacement de la métadonnée Fichier positionnel dans le Référentiel
Pour créer une connexion à un fichier délimité à partir de zéro, développez le nœud Métadonnées du Référentiel. Ensuite, faites un clic droit sur Fichier positionnel puis sélectionnez Créer un fichier positionnel dans le menu contextuel afin d’ouvrir l’assistant de configuration des métadonnées du fichier.
Assistant de configuration des métadonnées du fichier positionnel (étape1)
Donnez un nom au fichier, éventuellement un objectif et une description, puis cliquez sur Next.
Assistant de configuration des métadonnées du fichier positionnel (étape2)
Dès...
Job 21 : apprendre à utiliser une regex avec tFileRegex
Le job Talend tFileRegex permet de générer une regex pour traiter un document texte afin de ne retourner en sortie que les données correspondant aux colonnes et aux lignes souhaitées.
Job tFileRegex
Paramétrage du composant tFileInputRegex
Dans Nom de fichier, il s’agit de chercher le document demo_regex.txt et d’indiquer le chemin vers celui-ci avec ou sans contexte, au choix.
Le séparateur de lignes dans ce document est un retour à la ligne.
Aperçu du fichier demo_regex.txt
Nous souhaitons utiliser ce fichier pour ne retourner que les lignes qui satisfont toutes les conditions (nous devrons additionner toutes les conditions pour construire la regex) :
Première condition : toutes les lignes commencent par trois lettres majuscules ou minuscules (par exemple Aug).
Code :
"^"+
"([a-zA-Z]{3}
Deuxième condition : à la suite de la première condition, la ligne sélectionnée doit comporter un espace suivi d’un nombre à deux caractères et d’un autre espace.
Code :
\\s[0-9]{2}\\s
Troisième condition : à la suite de la deuxième condition, la ligne sélectionnée doit comporter trois nombres à deux caractères, entrecoupés de deux points.
Code :...
Job 22 : générer facilement un fichier XML
Le job Talend tAdvancedFileOutputXML permet de générer facilement un fichier XML à partir de données elles-mêmes générées à l’aide du composant tRowGenerator.
Composants utilisés pour ce job
Paramétrage du composant tRowGenerator
Paramétrage du composant tAdvancedFileOutputXML
Schéma des deux composants
Interface graphique du composant tAdvancedFileOutputXML
Afin d’accéder à l’interface graphique du composant, double cliquez dessus. Créez d’abord un sous-élément (row dans ce job) comme élément boucle pour que le composant puisse récupérer toutes les lignes générées par le composant tRowGenerator. Pour ce faire, effectuez un clic droit sur rootTag puis sélectionnez ajouter un sous-élément.
Ajoutez ensuite des attributs selon le type de données de la colonne générée par le composant tRowGenerator et reliez chaque colonne du schéma au type de données correspondant dans l’interface du composant tAdvancedFileOutputXML.
Pour ce faire, la colonne number peut être considérée comme un identifiant. Dans ce cas, ajoutez l’espace de noms SampleNameSpace en effectuant un clic droit sur le sous-élément...