Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
DatabricksGAImpacto: Baixo

Salvar job sem alterações não gera mais linhas nas tabelas de sistema

Atualização evita que salvar um job sem mudar configurações adicione registros desnecessários nas tabelas de sistema do Lakeflow.

O que mudou

Salvar um job na interface, via Jobs API ou usando Bundles de Automação Declarativa sem alterar nenhuma configuração não gera mais novas linhas nas tabelas system.lakeflow.jobs ou system.lakeflow.job_tasks. O campo change_time é mantido com o valor da última alteração real.

Para que serve

Imagine que você abre um job existente apenas para inspecionar parâmetros na interface e clica em salvar sem alterar nada. Antes, isso gerava uma nova linha nas tabelas de sistema do Lakeflow, poluindo o histórico de alterações (SCD2). Agora, o histórico permanece limpo e reflete apenas modificações efetivas.

Como usar

Você pode consultar o estado atual dos jobs nas tabelas de sistema filtrando pela última modificação:

-- Recupera o estado atual de cada job, ignorando os deletados
WITH latest AS (
  SELECT
    *,
    ROW_NUMBER() OVER(PARTITION BY workspace_id, job_id ORDER BY change_time DESC) AS rn
  FROM
    system.lakeflow.jobs
  QUALIFY rn = 1
)
SELECT * FROM latest WHERE delete_time IS NULL;

O que acontece nesse código:

  1. A consulta particiona por workspace_id e job_id para ordenar as linhas pelo horário da última mudança (change_time).
  2. A função ROW_NUMBER() identifica a versão mais recente de cada job na tabela que utiliza o formato SCD2.
  3. O filtro final garante que apenas os jobs ativos sejam retornados, excluindo aqueles que possuem delete_time preenchido.

Limitações e requisitos

  • O comportamento vale para salvamentos feitos pela interface de usuário (UI), Jobs API e Asset Bundles.
  • Para acessar as tabelas de sistema do Lakeflow, é preciso ter privilégios de metastore/account admin ou permissões USE e SELECT nos esquemas de sistema.
Ver nota oficial do Databricks

Saving an unchanged job no longer adds rows to the jobs system tables

Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.

Relacionadas