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


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.