Que signifie «Stage Skipped» dans l'interface utilisateur Web d'Apache Spark?

87

Depuis mon interface utilisateur Spark. Que signifie ignoré?

entrez la description de l'image ici

Aravind Yarram
la source

Réponses:

123

En général, cela signifie que les données ont été extraites du cache et qu'il n'était pas nécessaire de réexécuter l'étape donnée. Il est cohérent avec votre DAG qui montre que la prochaine étape nécessite shuffling ( reduceByKey). Chaque fois qu'un mélange est impliqué, Spark met automatiquement en cache les données générées :

Shuffle génère également un grand nombre de fichiers intermédiaires sur le disque. Depuis Spark 1.3, ces fichiers sont conservés jusqu'à ce que les RDD correspondants ne soient plus utilisés et soient récupérés. Ceci est fait pour que les fichiers de lecture aléatoire n'aient pas besoin d'être recréés si le lignage est recalculé.

zéro323
la source
21
Très bonne réponse. Si vous voulez savoir façon plus sur la sémantique de « sautée » et « en attente » étapes sur l'interface utilisateur Web, consultez github.com/apache/spark/pull/3009 , la demande de traction qui introduit ces concepts. Ce PR est également une lecture intéressante si vous êtes curieux de savoir comment les étapes sautées / en attente interagissent avec les barres de progression au niveau du travail.
Josh Rosen
1
Si je suis correctement, Spark les ignorer signifie qu'ils ne se produisent pas et qu'ils peuvent être supprimés du code tous ensemble? ou le code est très efficace avec le cache alors laissez-le? @ zero323
SparkleGoat
1
@SparkleGoat Non. Cela signifie que ces étapes ont déjà été évaluées et que le résultat est disponible sans réexécution.
10465355 dit Réintégrer Monica le
une autre question, la mise en cache et le saut d'étapes peuvent-ils rendre les données de sortie différentes?
SparkleGoat
@SparkleGoat, pas de mise en cache (et ignorer à cause de cela) est une optimisation d'étincelle interne et ne modifie en aucun cas les données de sortie.
Ravi Sanwal