Utilisation de Spark avec Talend Data Mapper - 7.3

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 d'utilisation de Talend Data Mapper Manager.

Prérequis

Le Studio Talend contient un environnement Spark local pouvant exécuter des Jobs. 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 sur Google Cloud Platform avec Cloudera installé en tant que cluster avec le système de fichiers distribués Hadoop (HDFS) et les services Spark activés
  • 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. Saisissez un nom pour votre cluster et cliquez sur Next.
  4. Sélectionnez votre distribution, Cloudera dans cet exemple et sélectionnez la version.
  5. Sélectionnez Retrieve configuration from Ambari or Cloudera et cliquez sur Next.
  6. Saisissez vos identifiants Cloudera Manager.
  7. Cliquez sur Connect pour remplir la section Discovered clusters à partir de laquelle vous pouvez récupérer les services.
  8. Cliquez sur Next.
  9. 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éez une structure pour votre map.

Avant de commencer

Vous avez un fichier CSV à utiliser en entrée. Vous pouvez en créer un depuis l'échantillon suivant :
firstName,lastName,age
John,Doe,20
Jane,Doe,35
Kid,Doe,02

Procédure

  1. Ouvez la perspective Mapping et naviguez jusqu'à Data Mapper > Hierarchical Mapper.
  2. Cliquez-droit sur Structures et sélectionnez Menu > New Structure.
  3. Sélectionnez Import a structure definition et cliquez sur Next.
  4. Sélectionnez CSV et cliquez sur Next.
  5. Sélectionnez le fichier échantillon à utiliser et cliquez sur Next.
  6. Saisissez le nom de la structure et cliquez sur Next.
  7. Dans les propriétés CSV, cochez la case Skip header reading, puis cliquez sur Next et Finish.

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. Ouvrez la perspective Integration et naviguez jusqu'à 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. Double-cliquez sur le tLogRow et définissez son schéma :
    1. Cliquez sur le bouton [...] correspondant au champ Edit schema.
    2. Dans la section Output (Input), cliquez trois fois sur le bouton [+] pour ajouter trois colonnes et nommez-les firstName, lastName et age.
    3. Cliquez sur le bouton pour copier les colonnes dans le tLogRow_1 (Output).
  7. 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. Cliquez sur le bouton […] près de Configure Component et sélectionnez la structure précédemment créée.
    4. Sélectionnez CSV dans la liste déroulante Input Representation.
    5. Cliquez sur Next et ajoutez le fichier d'entrée et, dans le champ Sample File, puis cliquez sur Run pour vérifier le nombre d'enregistrements trouvés.
    6. Cliquez sur Finish.

Configurer la map et exécuter le Job

Mappez les éléments de l'entrée à la structure de sortie et exécutez le Job.

Procédure

  1. Glissez l'élément d'entrée row sur l'élément de sortie OutputRecord.
    Tous les éléments sont automatiquement mappés.
  2. Cliquez sur Test Run pour voir un aperçu de la sortie.
    Dans cet exemple, elle ressemble à ceci affichée en JSON :
    {
      "Output" : {
        "OutputRecord" : [ {
          "firstName" : "firstName",
          "lastName" : "lastName",
          "age" : "age"
        }, {
          "firstName" : "John",
          "lastName" : "Doe",
          "age" : "20"
        }, {
          "firstName" : "Jane",
          "lastName" : "Doe",
          "age" : "35"
        }, {
          "firstName" : "Kid",
          "lastName" : "Doe",
          "age" : "02"
        } ]
      }
    }
  3. Sauvegardez la map et retournez au Job Big Data Batch.
  4. Dans l'onglet Run, cliquez sur Run afin de 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.