Что означает «Этап пропущен» в веб-интерфейсе Apache Spark?


Ответы:


123

Обычно это означает, что данные были извлечены из кеша и не было необходимости повторно выполнять данный этап. Это согласуется с вашим DAG, который показывает, что на следующем этапе требуется shuffling ( reduceByKey). Всякий раз, когда происходит перетасовка, Spark автоматически кэширует сгенерированные данные :

Shuffle также генерирует большое количество промежуточных файлов на диске. Начиная с Spark 1.3, эти файлы сохраняются до тех пор, пока соответствующие RDD не перестанут использоваться и не будут удалены сборщиком мусора. Это сделано для того, чтобы файлы перемешивания не создавались заново, если происхождение пересчитывается заново.


21
Отличный ответ. Если вы хотите узнать , как больше о семантике «пропущено» и «до» стадии на веб - интерфейсе, проверьте github.com/apache/spark/pull/3009 , запрос тянущий , который первым введенную эти понятия. Этот PR также интересен, если вам интересно, как пропущенные / ожидающие этапы взаимодействуют с индикаторами выполнения на уровне задания.
Джош Розен

1
Если я правильно слежу, Spark пропускает их, значит, этого не происходит, и их можно полностью удалить из кода? или код очень эффективен с кешем, так что оставь его? @ zero323
SparkleGoat

1
@SparkleGoat Нет. Это означает, что эти этапы были оценены ранее, и результат доступен без повторного выполнения.
10465355 говорит Reinstate Monica

Другой вопрос, могут ли кеширование и пропуск этапов сделать выходные данные разными?
SparkleGoat

@SparkleGoat, без кеширования (и пропуска из-за этого) - это внутренняя оптимизация искры и никак не меняет выходные данные.
Рави Санвал
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.