Fonctionnement d'un Job Talend Spark - 6.3

Talend Big Data Platform Studio Guide utilisateur

EnrichVersion
6.3
EnrichProdName
Talend Big Data Platform
task
Création et développement
Qualité et préparation de données
EnrichPlatform
Studio Talend

Un Job Talend Spark peut être exécuté dans l'un des modes suivants :

  • Local : le Studio construit l'environnement Spark en lui-même au moment de l'exécution locale du Job dans le Studio. Avec ce mode, chaque processeur de la machine locale est utilisé comme Worker Spark pour effectuer les calculs. Ce mode requiert la configuration d'un minimum de paramètres dans la vue de configuration.

    Notez que cette machine locale est la machine sur laquelle s'exécute le Job.

  • Standalone : le Studio se connecte à un cluster compatible Spark pour exécuter le Job depuis ce cluster.

  • Yarn client : le Studio exécute le pilote Spark pour orchestrer comment le Job doit être exécuté puis envoie l'orchestration au service Yarn d'un cluster Hadoop donné, afin que le Resource Manager de ce service Yarn demande des ressources pour l'exécution.

Dans le Studio Talend, vous pouvez créer un Job Spark à l'aide des composants Spark dédiés et configurer la connexion au cluster à utiliser. Lors de l'exécution, cette configuration permet au Studio de communiquer directement avec le cluster pour effectuer les opérations suivantes :

  • soumettre le Job Spark au serveur Master en mode Standalone ou au serveur ApplicationMaster, en mode Yarn client du cluster utilisé,

  • copier les ressources du Job dans le système de fichiers distribué du même cluster. Le cluster termine le reste de l'exécution : l'initialisation du Job, la génération de l'ID du Job et l'envoi des informations de progression de l'exécution ainsi que les résultats dans le Studio.

Notez qu'un Job Talend n'est pas identique à un job Spark comme expliqué dans la documentation Spark d'Apache. Un Job Talend Spark génère un ou plusieurs job(s) Spark (en termes Apache Spark), selon la manière dont vous créez le Job Talend dans l'espace de modélisation graphique du Studio. Pour plus d'informations concernant le jobs Spark, consultez http://spark.apache.org/docs/latest/cluster-overview.html#glossary (en anglais).

Chaque composant dans un Job Talend Spark sait comment générer les tâches spécifiques lui permettant d'accomplir sa mission (les classes dans le code généré) et comment rassembler toutes les tâches pour former le Job. Chaque connexion entre les composants génère une structure (un enregistrement Avro) pouvant contenir des données et est compatible avec la sérialisation Spark. Les composants sont optimisés pour leurs tâches spécifiques. Lors de l'exécution, ces classes générées sont envoyées dans les nœuds pour exécuter les données. Les structures contenant les données sont également envoyées entre les nœuds durant les phases de distribution et le Job Talend lui-même coordonne les jobs Spark générés.

Lorsque vous exécutez le Job, des informations statistiques sont affichées dans l'espace de modélisation graphique du Job pour indiquer la progression des calculs Spark coordonnées par le Job.

L'image suivante présente un exemple de Jobs Talend Spark Batch dans lequel des informations statistiques sont affichées en vert :

Dans cet exemple, deux jobs Spark, le job 0 et le job 1, sont créés et vous pouvez voir qu'ils sont terminés à 100 %.

Les informations d'exécution d'un Job Talend Spark sont enregistrées par le service HistoryServer du cluster à utiliser. Vous pouvez consulter la console Web du service pour voir les informations d'exécution. Le nom du Job dans la console est automatiquement construit pour suivre la structure suivante : ProjectName_JobName_JobVersion, par exemple, LOCALPROJECT_wordcount_0.1.