Uma tarefa do Spark

Se o senhor vir um estágio de longa duração com apenas uma tarefa, isso provavelmente é sinal de um problema. Enquanto essa tarefa estiver em execução, somente uma CPU será utilizada e o restante do cluster poderá ser parado. 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 divisível. Isso significa que o arquivo não pode ser lido em várias partes, então o senhor acaba com uma grande tarefa. O Gzip é um exemplo de um tipo de arquivo não divisível.

  • Configuração da 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)