Aller au contenu principal

Chronologie des jobs

La chronologie des jobs dans la Spark UI indique les jobs qui s’exécutent, la durée de chaque job et si des jobs ou des exécuteurs échouent. Start avec la chronologie des Job lorsqu’un pipeline ou une query est lent ou coûteux. Le modèle dans la chronologie détermine la page à lire ensuite dans ce guide.

Utilisez cette page au start d'une investigation, avant de savoir si le problème est dû à des échecs, à des périodes d'inactivité, à un Job long ou à de nombreux Jobs courts. Pour ouvrir Spark UI, voir Comment ouvrir Spark UI.

Comment ouvrir la chronologie des Jobs​

Dans Spark UI, cliquez sur Jobs , puis sur Event Timeline , comme mis en surbrillance en rouge dans la capture d’écran suivante. La chronologie des exemples montre quand le driver et l’exécuteur 0 sont ajoutés :

Chronologie des Jobs

Ce qu'il faut rechercher​

Les sections suivantes décrivent des modèles dans la chronologie des événements qui indiquent la cause d'un problème de performance ou de coût. Chaque section se termine par un Link vers la page permettant de diagnostiquer ce modèle.

remarque

Un Job apparaît comme en cours d'exécution dès le moment où il est soumis, et non à partir du moment où sa première tâche start. Lorsque vous soumettez des jobs en parallèle, par exemple en utilisant plusieurs threads et Futures, tous les jobs peuvent sembler start en même temps. C’est normal et cela ne signale pas un problème en soi.

Jobs en échec ou exécuteurs en échec​

Dans la chronologie des événements, les jobs ayant échoué et les exécuteurs supprimés ont un statut rouge, par exemple :

Jobs défaillants

Si la chronologie affiche des jobs ayant échoué ou des exécuteurs supprimés, reportez-vous à la section Jobs échoués ou exécuteurs supprimés.

Lacunes d'exécution​

Recherchez des lacunes d'une minute ou plus, par exemple :

Lacunes du Job

Cet exemple présente plusieurs lacunes, et des flèches rouges en soulignent quelques-unes. De courts intervalles sont attendus lorsque le driver coordonne le travail. Des intervalles d’une minute ou plus doivent faire l’objet d’une enquête lorsqu’ils surviennent au milieu d’un pipeline. Si le cluster fonctionne en continu, un intervalle peut être une pause entre les charges de travail. Pour faire la différence, comparez les intervalles avec les heures de début et de fin de votre charge de travail.

Si la chronologie présente de longs intervalles inexpliqués au milieu d'un pipeline, reportez-vous à Intervalles entre les jobs Spark.

Jobs longs​

Vérifiez si un ou quelques jobs longs dominent la chronologie. Dans cet exemple, un job prend beaucoup plus de temps que les autres, c'est donc celui-ci qu'il faut étudier :

Tâches longues

Pour étudier un long job, cliquez dessus, puis consultez Diagnostiquer un long job dans Spark.

De nombreux petits jobs​

Recherchez une chronologie dominée par de petits jobs, par exemple :

Petits jobs

Chaque fine ligne bleue correspond à un petit job qui prend quelques secondes tout au plus.

Si la chronologie montre principalement des petits jobs, voir De nombreux petits jobs Spark.

Aucun des éléments ci-dessus​

Si la timeline ne correspond à aucun des modèles précédents, recherchez le job le plus long. Triez les jobs par durée, puis cliquez sur le Link dans la description du job le plus long :

Identification du Job le plus long

Après avoir ouvert la page du job le plus long, examinez sa phase la plus longue. Voir Diagnostiquer un job long dans Spark.