Scénario 2 : Lire les données d'un fichier distant en mode stream - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Le scénario suivant illustre un Job à quatre composants ayant pour objectif de récupérer les données d'un fichier volumineux quasiment aussitôt qu'elles ne sont lues afin d'éviter l'attente du téléchargement de l'ensemble du fichier de données, et les affichent dans la console de la vue Run.

Déposer et relier les composants

  1. Déposez les composants suivants dans l'espace de modélisation : tFileFetch, tSleep, tFileInputDelimited, et tLogRow.

  2. Reliez les composants tSleep et tFileInputDelimited via un lien de type Trigger > OnComponentOk et reliez les composants tFileInputDelimited et tLogRow via un lien de type Row > Main.

Configurer les composants

  1. Double-cliquez sur le composant tFileFetch pour afficher l'onglet Basic settings de la vue Component et paramétrer ses propriétés.

  2. Dans la liste Protocol, sélectionnez le type de protocole vous permettant d'accéder au serveur sur lequel est stocké votre fichier de données.

  3. Dans le champ URI, saisissez l'URI d'accès au serveur sur lequel est stocké votre fichier.

  4. Cochez la case Use cache to save the resource pour mettre les données de votre fichier en mémoire cache. Cette option permet d'utiliser le mode stream pour transférer les données du fichier.

  5. A partir de l'espace de modélisation, double-cliquez sur le composant tSleep pour afficher l'onglet Basic settings de la vue Component et paramétrer ses propriétés.

    Par défaut, le champ Pause du composant tSleep correspond à 1 seconde. Laissez ce paramètre par défaut. Il met le deuxième Job en pause afin de laisser le temps au premier Job contenant le tFileFetch de lire les données du fichier.

  6. A partir de l'espace de modélisation, double-cliquez sur le composant tFileInputDelimited pour afficher l'onglet Basic settings de la vue Component et paramétrer ses propriétés.

  7. Dans le champ File name/Stream :

    - Effacez le contenu par défaut.

    - Faites un Ctrl+Espace pour faire apparaître la liste des variables disponibles à partir de ce composant.

    - Sélectionnez la variable tFileFetch_1_INPUT_STREAM dans la liste d'auto-complétion, la variable suivante apparaît dans le champ Filename : ((java.io.InputStream)globalMap.get("tFileFetch_1_INPUT_STREAM")).

  8. Dans la liste Schema, sélectionnez Built-in et cliquez sur le bouton [...] à côté du champ Edit schema pour décrire la structure des données du fichier que vous souhaitez récupérer. Le fichier US_Employees est composé de six colonnes : ID, Employee, Age, Address, State, EntryDate.

    Cliquez sur le bouton [+] pour ajouter les six colonnes et paramétrez-les comme indiqué sur la capture d'écran ci-dessus. Cliquez sur OK.

  9. A partir de l'espace de modélisation, double-cliquez sur le composant tLogRow pour afficher l'onglet Basic settings de la vue Component et cliquez sur Sync Columns pour vous assurer que le schéma est récupéré du composant précédent.

Configurer l'exécution du Job et exécuter le Job

  1. A partir de l'espace de modélisation, cliquez sur la vue Job et sur l'onglet Extra.

  2. Cochez la case Multi thread execution afin d'exécuter les deux Jobs en parallèle, sachant que le deuxième Job a un retard d'une seconde par rapport au premier comme défini dans le tSleep. Cette option permet donc de récupérer les données grâce au tFileDelimited quasiment dès leur lecture par le tFileFetch.

  3. Enregistrez votre Job et appuyez sur F6 pour l'exécuter.

Les données sont affichées dans la console dès leur lecture.