Spark estágio I/O alto
Em seguida, observe novamente as estatísticas de E/S do estágio mais longo:
O que é E/S elevada?
Quantos dados precisam estar em uma coluna de E/S para serem considerados altos? Para descobrir isso, primeiro comece com o número mais alto em qualquer uma das colunas dadas. Em seguida, considere o número total de núcleos de CPU que o senhor tem em todos os nossos trabalhadores. Em geral, cada núcleo pode ler e gravar cerca de 3 MBs por segundo.
Divida sua maior coluna de E/S pelo número de cluster worker núcleos e, em seguida, divida esse valor por segundos de duração. Se o resultado for de cerca de 3 MB, provavelmente o senhor está limitado por E/S. Isso seria uma E/S elevada.
Entrada alta
Se houver muitas entradas em seu palco, isso significa que o senhor está gastando muito tempo lendo dados. Primeiro, identifique quais dados esse estágio está lendo. Consulte Identificação de uma leitura cara no DAG do Spark.
Depois que o senhor identificar os dados específicos, aqui estão algumas abordagens para acelerar suas leituras:
Use Delta.
Experimente o Photon. Isso pode ajudar muito na velocidade de leitura, especialmente em tabelas amplas.
Torne sua consulta mais seletiva para que ela não precise ler tantos dados.
Reconsidere sua disposição de dados para que a omissão de dados seja mais eficaz.
Se o senhor estiver lendo os mesmos dados várias vezes, use o cache Delta.
Se o senhor estiver fazendo um join, considere a possibilidade de tentar fazer o DFP funcionar.
Alta produção
Se houver muita saída do seu estágio, isso significa que o senhor está gastando muito tempo gravando dados. Aqui estão algumas abordagens para resolver isso:
O senhor está reescrevendo muitos dados? Consulte Como determinar se o Spark está reescrevendo dados para verificar. Se o senhor estiver reescrevendo muitos dados:
Veja se o senhor tem uma mesclagem que precisa ser otimizada.
Use vetores de exclusão para marcar as linhas existentes como removidas ou alteradas sem reescrever o arquivo Parquet.
Ative o Photon se ainda não estiver ativado. O Photon pode ajudar muito na velocidade de gravação.
Alto shuffle
Se o senhor não estiver familiarizado com o shuffle, este é o momento de aprender.
Sem E/S alta
Se o senhor não encontrar E/S alta em nenhuma das colunas, precisará ir mais fundo. Veja o estágio Slow Spark com pouca E/S.