Aller au contenu principal

Skew et spill

spill

La première chose à rechercher dans une étape de longue durée est la présence de spill.

En haut de la page de l’étape, vous verrez les détails, qui peuvent inclure des statistiques sur le spill :

Statistiques de Spill

Le spill se produit lorsque Spark manque de mémoire. Il start à déplacer les données de la mémoire vers le disque, ce qui peut être très coûteux. C'est le plus courant pendant le brassage des données.

Si vous ne voyez aucune statistique pour le spill, cela signifie que le stage n'a aucun spill. Si le stage a du spill, consultez ce guide sur la manière de gérer le spill causé par le shuffle.

Asymétrie

La prochaine chose que nous voulons examiner est la présence d'asymétrie. Un biais se produit lorsqu'une ou seulement quelques tâches prennent beaucoup plus de temps que les autres. Cela entraîne une mauvaise utilisation des clusters et des jobs plus longs.

Faites défiler jusqu'au Résumé des métriques . L'élément principal que nous recherchons est une durée Max bien supérieure à la durée du 75e centile. La capture d'écran ci-dessous montre une étape saine, où le 75e centile et le Max sont identiques :

Statistiques de dissymétrie

Si la durée maximale est 50 % supérieure au 75e percentile, vous risquez de subir un désalignement.

Si vous constatez une asymétrie, découvrez les étapes de correction de l'asymétrie ici.

Aucun décalage ni spill

Si vous ne voyez pas de décalage ou de spill, retournez à la page Job pour avoir un aperçu de ce qui se passe. Faites défiler vers le haut de la page et cliquez sur ID de Job associés :

Stage vers Job

Si l'étape ne présente pas de spill ou d'asymétrie, consultez Débit d'E/S élevé de l'étape Spark pour les étapes suivantes.