O que significa “Etapa ignorada” na IU da Web do Apache Spark?

87

Da minha IU do Spark. O que significa pulado?

insira a descrição da imagem aqui

Aravind Yarram
fonte

Respostas:

123

Normalmente, isso significa que os dados foram obtidos do cache e não houve necessidade de reexecutar determinado estágio. É consistente com seu DAG, o que mostra que o próximo estágio requer embaralhamento ( reduceByKey). Sempre que houver embaralhamento envolvido, o Spark armazena automaticamente os dados gerados em cache :

O Shuffle também gera um grande número de arquivos intermediários no disco. A partir do Spark 1.3, esses arquivos são preservados até que os RDDs correspondentes não sejam mais usados ​​e sejam coletados como lixo. Isso é feito para que os arquivos shuffle não precisem ser recriados se a linhagem for recalculada.

zero323
fonte
21
Ótima resposta. Se você quiser saber muito mais sobre a semântica dos estágios "ignorado" e "pendente" na IU da web, consulte github.com/apache/spark/pull/3009 , a solicitação pull que introduziu esses conceitos pela primeira vez. Esse PR também é uma leitura interessante se você estiver curioso sobre como os estágios ignorados / pendentes interagem com as barras de progresso no nível do trabalho.
Josh Rosen
1
Se eu estiver seguindo corretamente, o Spark ignorar isso significa que eles não acontecem e podem ser removidos do código juntos? ou o código é muito eficiente com o cache, então deixa? @ zero323
SparkleGoat
1
@SparkleGoat Não. Significa que essas etapas foram avaliadas antes e o resultado está disponível sem nova execução.
10465355 diz Reintegrar Monica em
outra pergunta, o cache e pular estágios podem tornar os dados de saída diferentes?
SparkleGoat
@SparkleGoat, sem cache (e pulando por causa disso) é uma otimização interna e não altera os dados de saída de forma alguma.
Ravi Sanwal