E/S alta do estágio de faísca
Em seguida, veja as estatísticas de E/S do estágio mais longo novamente:
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:
- Você está reescrevendo muitos dados? Consulte Como determinar se o Spark está reescrevendo dados para verificação. Se você estiver reescrevendo muitos dados:
- Veja se você tem uma mesclagem que precisa ser otimizada.
- Use vetores de exclusão para marcar linhas existentes como removidas ou alteradas sem reescrever o arquivo Parquet.
- Habilite o Photon se ainda não estiver. Photon pode ajudar muito com a velocidade de escrita.
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.