Uma tarefa Spark
Se você vir um estágio de longa duração com apenas uma tarefa, isso provavelmente é um sinal de um problema. Enquanto esta tarefa está sendo executada, apenas uma CPU é utilizada e o resto do cluster pode estar ocioso. Isso acontece com mais frequência nas seguintes situações:
- UDF caro em dados pequenos
- Função de janela sem
PARTITION BY
instrução - Leitura a partir de um tipo de ficheiro indivisível. Isso significa que o arquivo não pode ser lido em várias partes, então você acaba com uma grande tarefa. Gzip é um exemplo de um tipo de arquivo indivisível.
- Definindo a
multiLine
opção ao ler um arquivo JSON ou CSV - Inferência de esquema de um arquivo grande
- Utilização de repartição(1) ou coalesce(1)