Partilhar via


E/S alta do estágio de faísca

Em seguida, veja as estatísticas de E/S do estágio mais longo novamente:

E/S de estágio longo

O que é E/S alta?

Quantos dados precisam estar em uma coluna de E/S para serem considerados altos? Para descobrir isso, primeiro comece com o maior número em qualquer uma das colunas dadas. Em seguida, considere o número total de núcleos de CPU que você tem em todos os nossos trabalhadores. Geralmente, cada núcleo pode ler e escrever cerca de 3 MB por segundo.

Divida sua maior coluna de E/S pelo número de núcleos de trabalho de cluster e, em seguida, divida isso por segundos de duração. Se o resultado for de cerca de 3 MB, então você provavelmente está vinculado a E/S. Isso seria alta E/S.

Alta entrada

Se você vê muitas entradas em seu palco, isso significa que você está gastando muito tempo lendo dados. Primeiro, identifique quais dados esta etapa está lendo. Consulte Identificando uma leitura cara no DAG do Spark.

Depois de identificar os dados específicos, aqui estão algumas abordagens para acelerar suas leituras:

  • Use Delta.
  • Experimente o Photon. Pode ajudar muito com a velocidade de leitura, especialmente para mesas largas.
  • Torne sua consulta mais seletiva para que ela não precise ler tantos dados.
  • Reconsidere o layout de dados para que o salto de dados seja mais eficaz.
  • Se você estiver lendo os mesmos dados várias vezes, use o cache Delta.
  • Se você estiver fazendo uma adesão, considere tentar fazer o DFP funcionar.

Alta produção

Se você vir muitos resultados do seu palco, isso significa que você está gastando muito tempo gravando dados. Aqui estão algumas abordagens para resolver isso:

Embaralhamento alto

Se você não está familiarizado com o shuffle, este é o momento de aprender.

Sem E/S altas

Se você não vê E/S alta em nenhuma das colunas, então você precisa cavar mais fundo. Veja o estágio Slow Spark com pouca E/S.