Diagnosticando um estágio longo no Spark
Comece identificando a etapa mais longa do trabalho. Role até a parte inferior da página do trabalho para ver a lista de estágios e ordene-os por duração:
Detalhes do Stage I/O
Para ver os dados de alto nível sobre o que esse estágio estava fazendo, observe as colunas Input , Output , leitura aleatória e gravação aleatória :
As colunas significam o seguinte:
- Entrada: a quantidade de dados que esse estágio leu do armazenamento. Isso pode ser a leitura de Delta, Parquet, CSV, etc.
- Saída: quantos dados esse estágio gravou no armazenamento. Isso pode ser gravado em Delta, Parquet, CSV, etc.
- leitura aleatória: A quantidade de dados embaralhados lidos por esse estágio.
- gravação aleatória: A quantidade de dados aleatórios que este estágio escreveu.
Se você não está familiarizado com o que é o shuffle, agora é um bom momento para aprender o que isso significa.
Anote esses números, pois você provavelmente precisará deles mais tarde.
Número de tarefas
O número de tarefas no estágio longo pode indicar ao senhor a direção do seu problema. O senhor pode determinar o número de tarefas olhando aqui:
Se o senhor vir uma tarefa, isso pode ser sinal de um problema. Para obter mais informações, consulte One Spark tarefa.
veja mais detalhes do palco
Se o estágio tiver mais de uma tarefa, o senhor deve investigar mais. Clique no link na descrição do estágio para obter mais informações sobre o estágio mais longo:
Agora que você está na página do palco, veja Skew and spill.