Uma tarefa do Spark
Se você vir um estágio de longa duração com apenas uma tarefa, isso provavelmente é sinal de um problema. Enquanto essa tarefa estiver sendo executada, apenas uma CPU será usada e é possível que o restante do cluster esteja ocioso. Isso acontece com mais frequência nas seguintes situações:
- UDF caro em dados pequenos
- Função de janela sem instrução
PARTITION BY
- Leitura de um tipo de arquivo não flexível. Isso significa que o arquivo não pode ser lido em várias partes, portanto, você acaba com uma tarefa grande. O Gzip é um exemplo de um tipo de arquivo não flexível.
- Definir a opção
multiLine
ao ler um arquivo JSON ou CSV - Inferência de esquema de um arquivo grande
- Uso de repartition(1) ou coalesce(1)