Scénario : Répliquer un flux et trier deux flux identiques - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
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
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Le Job de ce scénario utilise des composants Pig pour gérer les noms et les états chargés d'un système HDFS donné. Il lit et réplique le flux d'entrée et trie les données des deux flux identiques, respectivement sur le nom et sur l'état, puis écrit les résultats dans ce système HDFS.

Avant de commencer à reproduire ce Job, assurez-vous de posséder les droits en lecture écriture de données dans la distribution Hadoop à utiliser et que Pig est correctement installé dans cette distribution.

Relier les composants

  1. Dans la perspective Integration du Studio Talend, créez un Job vide, nommé Replicate par exemple, à partir du nœud Job Designs dans la vue Repository.

    Pour plus d'informations concernant la création d'un Job, consultez le Guide utilisateur du Studio Talend.

  2. Déposez un tPigLoad, un tPigReplicate, deux tPigSort et deux tPigStoreResult dans l'espace de modélisation graphique.

    Le composant tPigLoad lit des données du système HDFS donné. Les données d'exemple utilisées dans ce scénario se présentent comme suit :

    Andrew Kennedy;Mississippi
    Benjamin Carter;Louisiana
    Benjamin Monroe;West Virginia
    Bill Harrison;Tennessee
    Calvin Grant;Virginia
    Chester Harrison;Rhode Island
    Chester Hoover;Kansas
    Chester Kennedy;Maryland
    Chester Polk;Indiana
    Dwight Nixon;Nevada
    Dwight Roosevelt;Mississippi
    Franklin Grant;Nebraska

    L'emplacement des données dans ce scénario est le suivant /user/ychen/raw/Name&State.csv.

  3. Reliez les composants à l'aide de liens Row > Pig combine.

Configurer le tPigLoad

  1. Double-cliquez sur le tPigLoad pour ouvrir sa vue Component.

  2. Cliquez sur le bouton à côté du champ Edit schema pour ouvrir l'éditeur de schéma.

  3. Cliquez deux fois sur le bouton pour ajouter deux lignes et nommez-les respectivement Name et State.

  4. Cliquez sur OK pour valider ces modifications et acceptez la propagation proposée par la boîte de dialogue qui s'ouvre.

  5. Dans la zone Mode, sélectionnez Map/Reduce. Le Hadoop à utiliser dans ce scénario est installé sur une machine distante. Une fois l'option sélectionnée, les paramètres à configurer apparaissent.

  6. Dans les listes Distribution et Version, sélectionnez la distribution de Hadoop à utiliser.

  7. Dans la liste Load function, sélectionnez PigStorage

  8. Dans les champs NameNode URI et JobTracker host, saisissez l'emplacement du NameNode et du JobTracker à utiliser pour Map/Reduce.

  9. Dans le champ Input file URI, saisissez l'emplacement des données à lire depuis HDFS. Dans cet exemple, l'emplacement est /user/ychen/raw/NameState.csv.

  10. Dans le champ Field separator, saisissez ;.

Configurer le tPigReplicate

  1. Double-cliquez sur le tPigReplicate pour ouvrir sa vue Component.

  2. Cliquez sur le bouton à côté du champ Edit schema pour ouvrir l'éditeur de schéma et vérifier que le schéma est identique à celui du composant précédent.

    Note

    Si le composant n'a pas le même schéma que celui du composant précédent, une icône d'avertissement apparaît. Dans ce cas, cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent. Cela fait, l'icône disparaît.

Configurer le tPigSort

Deux composants tPigSort sont utilisés pour trier les deux flux de sortie identiques : un sur la colonne Name et l'autre sur la colonne State.

  1. Double-cliquez sur le premier composant tPigSort pour ouvrir sa vue Component et définir le tri par nom.

  2. Dans la table Sort key, ajoutez une ligne en cliquant sur le bouton sous la table.

  3. Dans la colonne Column, sélectionnez Name dans la liste déroulante et sélectionnez ASC dans la colonne Order.

  4. Double-cliquez sur l'autre composant tPigSort pour ouvrir sa vue Component et définir le tri par état.

  5. Dans la table Sort key, ajoutez une ligne puis sélectionnez Name dans la liste déroulante de la colonne Column et sélectionnez ASC dans la colonne Order.

Configurer le tPigStoreResult

Deux composants tPigStoreResult sont utilisés pour écrire les données triées dans HDFS.

  1. Double-cliquez sur le premier composant tPigStoreResult pour ouvrir sa vue Component et écrire les données triées par nom.

  2. Dans le champ Result file, saisissez le répertoire dans lequel les données seront écrites. Ce répertoire sera créé s'il n'existe pas. Dans ce scénario, le répertoire est le suivant /user/ychen/sort/tPigreplicate/byName.csv.

  3. Sélectionnez Remove result directory if exists.

  4. Dans la liste Store function, sélectionnez PigStorage.

  5. Dans le champ Field separator, saisissez ;.

  6. Répétez l'opération pour l'autre composant tPigStoreResult mais sélectionnez un répertoire différent pour les données triées par état. Dans ce scénario, le répertoire est le suivant /user/ychen/sort/tPigreplicate/byState.csv.

Exécuter le Job

Vous pouvez exécuter le Job.

  • Appuyez sur F6 pour l'exécuter.

Cela fait, parcourez votre système jusqu'aux emplacements où les résultats ont été écrits dans HDFS.

La capture d'écran suivante présente les résultats triés par nom :

La capture d'écran suivante présente les résultats triés par état :

Si vous souhaitez plus d'informations concernant le Job et son exécution, utilisez la console Web fournie par la distribution Hadoop que vous utilisez.

Dans le JobHistory, vous pouvez facilement trouver le statut d'exécution de votre Job Pig car il est automatiquement nommé. Son nom est le résultat de la concaténation du nom du projet contenant le Job, du nom du Job, de sa version et du libellé du premier composant tPigLoad utilisé. La convention de nommage d'un Job Pig dans le JobHistory est la suivante : ProjectName_JobNameVersion_FirstComponentName.