Diagnostiquer les problèmes de coût et de performances à l’aide de l’interface utilisateur Spark

Lorsqu’un pipeline ou une requête dure plus longtemps ou coûte plus cher que prévu, la cause est souvent difficile à détecter uniquement avec le code. L’interface Spark montre ce que le cluster a réellement fait : quels jobs ont fonctionné, combien de temps a pris chaque étape, combien de données ont été déplacées et où les tâches ont échoué. Ce guide décrit les modèles dans l’interface Spark et explique quelle page lire ensuite pour chaque modèle. Si vous ne connaissez pas les concepts de driver, de workers, d’executors, de stages et de tâches, consultez l’architecture Spark avant de commencer.

Quand utiliser ce guide

Utilisez ce guide lorsqu’une charge de travail fonctionnant sur un cluster présente l’un de ces symptômes :

  • Un travail, un pipeline ou une requête prend plus de temps que prévu, voire plus longtemps qu’avant.
  • Une charge de travail coûte plus cher que prévu pour la quantité de données qu’elle traite.
  • Les jobs ou exécuteurs échouent, et le message d’erreur n’identifie pas la cause.

Utilisation de ce guide

Commencez par la chronologie des jobs. La vue chronologique montre la forme générale de la charge de travail, et chaque modèle renvoie à la page qui analyse ce modèle. Suivez les liens à la fin de chaque page pour parcourir le guide. Pour diagnostiquer une charge de travail lente, suivez ces étapes dans l’ordre :

  1. Utiliser la chronologie des travaux pour identifier les problèmes majeurs
  2. Examiner la phase la plus longue
  3. Rechercher une asymétrie ou un déversement
  4. Déterminer si la phase la plus longue est liée aux E/S
  5. Rechercher d’autres causes du runtime de phase lente

Si la chronologie des jobs fait apparaître des jobs en échec, de longs intervalles entre les jobs ou de nombreux petits jobs, ignorez les étapes restantes et suivez le lien présent sur la page de la chronologie vers la page correspondant à ce schéma.

Comment ouvrir l’interface utilisateur Spark

  1. Accédez à la page de votre cluster :

    Accédez à Compute. de calcul

  2. Cliquez sur Spark UI:

    Accéder à SparkUI SparkUI

Étape suivante

Ensuite, consultez la chronologie de l’événement pour en savoir plus sur votre pipeline ou votre requête. Consultez la Chronologie des jobs.