Uma tarefa Spark
Se vir uma fase de execução prolongada com apenas uma tarefa, provavelmente é sinal de um problema. Enquanto esta tarefa estiver a ser executada, apenas é utilizada uma CPU e o restante cluster pode estar inativo. Tal ocorre mais frequentemente nas seguintes situações:
- UDF dispendioso em dados pequenos
- Função de janela sem
PARTITION BY
instrução - Leitura a partir de um tipo de ficheiro indivisível. Significa que o ficheiro não pode ser lido em várias partes, pelo que acaba com uma grande tarefa. Gzip é um exemplo de um tipo de ficheiro indivisível.
- Definir a opção
multiLine
ao ler um ficheiro JSON ou CSV - Inferência de esquema de um ficheiro grande
- Utilização de repartition(1) ou coalesce(1)