Utilisation de Spark avec Talend Data Mapper - 7.3

author
Talend Documentation Team
EnrichVersion
7.3
EnrichProdName
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
task
Création et développement > Systèmes tiers > Composants Processing (Intégration) > Mapping de données
Gouvernance de données > Systèmes tiers > Composants Processing (Intégration) > Mapping de données
Qualité et préparation de données > Systèmes tiers > Composants Processing (Intégration) > Mapping de données

Utiliser Spark avec Talend Data Mapper

Apache Spark (Spark) est utile lorsque vous souhaitez traiter des fichiers d'entrée volumineux avec Talend Data Mapper. Vous pouvez profiter de la rapidité et des avantages de diffusion de Spark pour diffuser le fichier et procéder au mapping sans avoir à charger en mémoire le fichier complet avant d'effectuer une transformation.

Si vous souhaitez tester les capacités de Spark avec Talend Data Mapper en important des fichiers d'entrée volumineux, parcourez ce scénario pour savoir comment faire.

Pour plus d'informations concernant Apache Spark, consultez la documentation officielle à l'adresse http://spark.apache.org/. Pour plus d'informations concernant Talend Data Mapper, consultez le Guide utilisateur de Talend Data Mapper.

Prérequis

Studio Talend contient un environnement Spark local (version 1.3.0 minimum) pouvant exécuter des Jobs. Si vous souhaitez tester votre Job localement, assurez-vous d'avoir installé la version 6.5 ou supérieure du Studio.

Pour effectuer avec succès le scénario suivant, vous trouverez ci-dessous un exemple d'environnement que vous pouvez configurer :

  • Trois instances de serveurs Centos 7.x sur la Plateforme Google Cloud : assurez-vous d'avoir installé la version 5.13 de Cloudera en tant que cluster avec HDFS et d'avoir activé les services Spark
  • Client Windows 10

Se connecter à un Cluster Hadoop

Créer une connexion à un Cluster Hadoop.

Procédure

  1. Dans Studio Talend, rendez-vous dans Repository > Metadata.
  2. Cliquez-droit sur Hadoop Cluster et sélectionnez Create Hadoop Cluster.
  3. Renseignez les informations dans les champs correspondants.
  4. Lorsqu'il vous est demandé de sélectionner une option d'import, spécifiez Retrieve configuration from Ambari or Cloudera.
  5. Renseignez vos identifiants Cloudera Manager.
  6. Cliquez sur Connect pour remplir la section Discovered clusters à partir de laquelle vous pouvez récupérer les services.
  7. Cliquez sur Next.
  8. Cliquez sur Check Services pour voir si tous les services sont activés. Vérifiez le statut des services.

Créer la Structure Talend Data Mapper

Créer une Structure pour votre map.

Procédure

  1. Passez à la perspective Mapping et rendez-vous dans Data Mapper > Hierarchical Mapper.
  2. Cliquez-droit sur Structures et sélectionnez Menu > New Structure.
  3. Sélectionnez Import a structure definition.
  4. Sélectionnez CSV.
  5. Spécifiez le fichier contenant les enregistrements d'entrée dans le champ Local file. Dans cet exemple, utilisez raw.txt.
  6. Saisissez le nom de la structure et cliquez sur Finish pour créer le schéma basé sur le fichier d'entrée.

Créer le Job Big Data Batch

Une fois le Cluster Hadoop et la Structure créés, définissez le Job Big Data Batch comprenant les composants tHDFSConfiguration, tHMapInput et tLogRow.

Procédure

  1. Passez à la perspective Integration et rendez-vous dans Repository > Job Designs.
  2. Cliquez-droit sur Big Data Batch et sélectionnez Create Big Data Batch Job.
  3. Renseignez les informations nécessaires pour créer le Job.
  4. Faites glisser les métadonnées du Cluster Hadoop que vous avez créé dans le Job Design et sélectionnez le composant tHDFSConfiguration.
  5. Ajoutez les composants thMapInput et tLogRow, puis connectez-les à l'aide d'une connexion Row > Main.
    1. Lorsque le nom de sortie vous est demandé, saisissez OUTPUT.
  6. Sélectionnez le composant tHMapInput pour ouvrir l'onglet Basic Settings.
    1. Cochez la case Define a storage configuration component et sélectionnez le composant tHDFSConfiguration comme composant de stockage.
    2. Spécifiez le fichier d'entrée dans le champ Input.
    3. Sélectionnez Configure Component et choisissez la structure précédemment créée.
    4. Dans le menu déroulant Input Representation, sélectionnez Flat.
    5. Cliquez sur Next et ajoutez le fichier d'entrée dans le champ Sample from File System.

Tester la Map et exécuter le Job

Tester la Map automatiquement créée et générée avec la Structure Talend Data Mapper.

Procédure

  1. Ouvrez la map et faites glisser les éléments que vous souhaitez inclure en sortie.
  2. Cliquez sur Test Run.
  3. Retournez sur le Job Big Data Batch.
  4. Cliquez sur Run pour l'exécuter.

Dépannage

Si vous rencontrez des erreurs lorsque vous effectuez le scénario d'exemple, jetez un œil à ces solutions vous aidant à exécuter le Job avec succès.

  • Configuration Cloudera incorrecte : Il se peut que Cloudera ait configuré votre cluster avec son nom de domaine complètement qualifié (FQDN) interne. Dans ce cas, vous devrez peut-être ajouter d'autres informations à votre fichier Hosts pour éviter les problèmes de connexion.

    Pour ce faire, rendez-vous dans C:\\Windows\System32\drivers\etc et ouvrez le fichier Hosts en tant qu'Administrateur. Ajoutez ensuite l'adresse IP externe de votre cluster et votre FQDN interne. Sauvegardez le fichier.

    Cela devrait inciter Cloudera à utiliser le FQDN interne.

  • Erreur fréquente dans un Job Big Data Batch : Si vous vous connectez à un Cluster Hadoop situé sur un autre serveur que celui de votre Studio Talend, ignorez l'erreur suivante :
    L'erreur localise simplement le fichier winutils pour exécuter localement les workers Spark. Pour ne plus rencontrer cette erreur, téléchargez et extrayez le fichier winutils. Définissez votre répertoire personnel Hadoop d'après l'emplacement d'extraction de ce fichier.