Exécuter un Job sur Spark

Dans ce tutoriel, vous créerez un Job Big Data Batch à l'aide du framework Spark, vous lirez des données depuis HDFS, les trierez et les afficherez dans la console.

Resources:
Instructions as PDF, Job export

Ce tutoriel utilise Talend Data Fabric Studio version 6 et un cluster Hadoop : Cloudera CDH version 5.4. Il réutilise les métadonnées de connexion HDFS créées dans le tutoriel intitulé « Creating Cluster Connection Metadata » (Créer des métadonnées de connexion de cluster).

1. Créer un Job de Big Data Batch à l'aide du framework Spark

Pour le traitement des big data, Talend Studio vous permet des créer des Jobs Batch et Streaming s'exécutant sur Spark ou MapReduce. Dans notre exemple, vous créerez un Job Big Data Batch sur Spark.

  1. Vérifiez que la perspective Integration (Intégration) est sélectionnée.
  2. Assurez-vous que les métadonnées de connexion du cluster Hadoop et de la connexion HDFS ont été créées dans le Référentiel de projet.
  3. Dans le Référentiel, développez Jobs Designs (Jobs), cliquez avec le bouton droit sur Big Data Batch, puis cliquez sur Create Big Data Batch Job (Créer un Job Big Data Batch).
  4. Dans le champ Name (Nom), saisissez ReadHDFS_Spark. Dans la liste Framework, vérifiez que Spark est sélectionné. Dans le champ Purpose (Objectif), saisissez Read and sort customer data (Lire et trier les données client), et dans le champ Description, saisissez Read and sort customer data stored in HDFS from a Big Data Batch Job running on Spark (Lire et trier les données client stockées dans HDFS depuis un Job Big Data Batch s'exécutant sur Spark), puis cliquez sur Terminer.

Le Job apparaît dans le Référentiel sous Jobs Designs > Big Data Batch (Jobs > Big Data Batch ) et s'ouvre dans le Job Designer.

2. Utiliser la définition des métadonnées HDFS pour configurer la connexion à HDFS et l'exécution sur Spark

Contrairement à YARN, Spark peut être connecté à différents systèmes de stockage de fichiers tels que HDFS, Amazon S3 ou Cassandra. Pour lire vos données depuis HDFS, vous devez d'abord configurer la connexion à HDFS. Pour cela, vous pouvez utiliser les métadonnées de connexion HDFS disponibles dans le Référentiel. Ces métadonnées vous serviront également à configurer l'exécution de votre Job sur Spark.

  1. Dans le Référentiel, sous Metadata > HadoopCluster > MyHadoopCluster > HDFS (Métadonnées > Cluster Hadoop > MyHadoopCluster > HDFS), cliquez sur MyHadoopCluster_HDFS et déplacez cet élément vers le Job Designer. Dans la liste Components (Composants), sélectionnez tHDFSConfiguration et cliquez sur OK. La fenêtre Hadoop Configuration Update Confirmation (Confirmation de mise à jour de la configuration Hadoop) s'affiche.
  2. Pour autoriser Studio à mettre à jour la configuration Spark afin qu'elle corresponde à vos métadonnées de cluster, cliquez sur OK.
  3. Dans la vue Run (Exécution), cliquez sur Spark Configuration (Configuration Spark) et vérifiez que l'exécution est configurée avec les métadonnées de connexion HDFS disponibles dans le Référentiel.

Vous pouvez configurer votre Job en mode Spark local, Spark Standalone ou Spark sur YARN. Le mode local est utilisé pour tester un Job durant la phase de conception. Le choix du mode Spark Standalone ou Spark sur YARN dépend de la version de Spark installée sur votre cluster. Pour ce tutoriel, nous utilisons Spark sur YARN.

Pour le configurer, Studio utilise les métadonnées de connexion HDFS, ce qui configure également la version de cluster, la distribution et l'adresse du gestionnaire de ressources.

3. Configurer le composant tFileInputDelimited pour lire vos données depuis HDFS

Vous pouvez maintenant vous connecter à HDFS et votre Job est configuré pour s'exécuter depuis votre cluster. Pour les Jobs s'exécutant sur Spark, le composant tFileInputDelimited vous permet de lire les données depuis différents systèmes de stockage de fichiers.

  1. Dans le Job Designer, ajoutez un composant tFileInputDelimited.
  2. Pour ouvrir la vue Component (Composant) de tFileInputDelimited, double-cliquez sur ce composant.
  3. Dans le panneau Storage (Stockage), vérifiez que le composant tHDFSConfiguration est sélectionné comme composant de configuration de stockage.
  4. Pour ouvrir l'éditeur de schémas, cliquez sur Edit schema (Modifier le schéma).
  5. Pour ajouter des colonnes au schéma, cliquez trois fois sur l'icône [+] et entrez le nom des colonnes : CustomerID (ID client), FirstName (Prénom) et LastName (Nom).
  6. Pour modifier le type de la colonne CustomerID, cliquez sur le champ Type, puis sur Integer. Cliquez sur OK pour enregistrer le schéma.

    Autre méthode : vous pouvez utiliser les métadonnées du Référentiel pour configurer le schéma. Pour en savoir plus, suivez le tutoriel « Créer et utiliser des métadonnées »
    .
  7. Pour indiquer l'emplacement du fichier à lire, cliquez sur le bouton […] à côté du champ Folder/File (Dossier/Fichier), parcourez l'arborescence jusqu'à « user/student/CustomersData » et cliquez sur OK.

Le composant tFileInputDelimited est maintenant configuré pour lire les données client depuis HDFS.

D'autres types de fichiers, tels qu'AVRO, JSON et XML sont également pris en charge. Les fichiers ne doivent pas nécessairement être délimités.

4. Trier les données client par valeur CustomerID ascendante

  1. Ajoutez un composant tSortRow.
  2. Connectez le composant tFileInputDelimited, nommé MyHadoopCluster_HDFS, au composant tSortRow à l'aide d'une ligne Main.
  3. Pour ouvrir la vue Component (Composant) de tSortRow, double-cliquez sur ce composant.
  4. Pour configurer le schéma, cliquez sur Sync columns (Sync colonnes).
  5. Pour ajouter un nouveau critère à la table Criteria (Critères), cliquez sur [+]. Dans la colonne Schema (Schéma), sélectionnez CustomerID. Dans la colonne sort num or alpha? (Tri num ou alpha ?), sélectionnez num et dans la colonne Order asc or desc? (Ordre asc ou desc ?), sélectionnez asc.

Le composant tSortRow est maintenant configuré.

5. Afficher les données triées dans la console à l'aide d'un composant tLogRow

  1. Ajoutez un composant tLogRow et connectez-le au composant tSortRow à l'aide d'une ligne Main.
  2. Pour ouvrir la vue Component (Composant) de tLogRow, double-cliquez sur ce composant.
  3. Dans le panneau Mode, sélectionnez Table.

Votre Job est prêt. Il lit des données depuis HDFS, les trie et les affiche dans la console.

6. Exécuter le Job et observer les résultats dans la console

Pour exécuter le Job, cliquez sur l'onglet Basic Run (Exécution simple), puis sur Run (Exécuter) dans la vue Run (Exécuter). Dans le Job Designer, notez que le pourcentage du Job est à 100 % à la fin de l'exécution.

Les données triées sont affichées dans la console.