Pular para o conteúdo principal

Determinar se o Spark está regravando muitos arquivos

DELETE, UPDATE e MERGE operações em tabelas Delta Lake podem gravar muito mais dados do que alteram. Sem vetores de exclusão, modificar uma única linha requer a regravação de todo o arquivo Parquet que a contém. Se uma pequena alteração afetar muitos arquivos, o estágio de gravação regravará todas as linhas não modificadas nesses arquivos também.

Use esta página quando o estágio mais longo tiver uma saída alta e uma execução DELETE, UPDATE ou MERGE. Para verificar a saída do estágio, consulte Saída alta.

Verifique a gravação no SQL DAG​

Para verificar quanto de dados a etapa de gravação grava:

  1. Role a página até o topo da página do job e clique em Associated SQL Query :

    Estágio para SQL

    O DAG SQL aparece. Se não aparecer, role para encontrá-lo:

    SQL DAG

  2. Localize o nó de gravação e verifique quantos dados ele grava:

    • Para DELETE ou UPDATE, compare a quantidade de dados gravados com a quantidade esperada. Se a operação gravar muito mais dados do que o esperado, pode estar reescrevendo dados:

      Escrever estatísticas

    • Para MERGE, o node de merge mostra estatísticas explícitas sobre quanto de dados ele reescreve.

Verificar a história da tabela​

Para verificar uma reescrita, verifique as métricas de operação na história da tabela. Para um MERGE, compare numTargetRowsCopied com as linhas inseridas, atualizadas e excluídas. Para DELETE e UPDATE, verifique numCopiedRows. Uma contagem de linhas copiadas muito maior do que as linhas alteradas indica que a operação reescreveu dados não modificados. Veja Métricas de operação.

Reduza as reescritas​

Se a operação reescrever uma grande quantidade de dados, experimente estas abordagens:

  • Habilitar vetores de exclusão. Vetores de exclusão marcam as linhas como removidas ou alteradas sem reescrever o arquivo Parquet.
  • Ajuste as operações MERGE. Adicione restrições conhecidas à condição de correspondência para reduzir o espaço de pesquisa. Para outras abordagens de ajuste de merge, consulte Práticas recomendadas: Delta Lake.