Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
SnowflakeGAImpacto: Médio

Preservação de linhagem de dados em tabelas e views temporárias

O Snowflake agora preserva automaticamente a linhagem de dados e colunas através de tabelas e views temporárias mesmo após serem apagadas.

O que mudou

Para que serve

Imagine que você usa uma tabela temporária para organizar dados intermediários antes de carregá-los na tabela final. Quando a tabela temporária é apagada, a linhagem entre a origem e o destino costumava desaparecer. Agora, o Snowflake mantém essa conexão de ponta a ponta.

  • Rastrear a origem de dados que passam por objetos temporários.
  • Consultar gráficos de linhagem completos no Snowsight após o término da sessão.
  • Manter metadados precisos de colunas e tabelas.

Como usar

A criação de tabelas temporárias e consultas de linhagem continuam usando a sintaxe padrão do Snowflake.

CREATE OR REPLACE TEMPORARY TABLE lineage_tmp AS
  SELECT s1.id, s1.amount, s2.region
    FROM lineage_src_1 s1
    JOIN lineage_src_2 s2
      ON s1.id = s2.id;

CREATE OR REPLACE TABLE lineage_dest AS
  SELECT id, region
    FROM lineage_tmp;

O que acontece nesse código:

  1. Cria uma tabela temporária unindo duas fontes.
  2. Gera uma tabela de destino a partir da tabela temporária.

Para consultar a linhagem após descartar o objeto intermediário:

DROP TABLE lineage_tmp;

SELECT *
  FROM TABLE(
    SNOWFLAKE.CORE.GET_LINEAGE(
      'lineage_db.public.lineage_dest',
      'TABLE',
      'UPSTREAM',
      5));

O que acontece nesse código:

  1. Remove a tabela temporária da sessão.
  2. Executa a função GET_LINEAGE para verificar que a relação entre a origem e o destino foi preservada.

Limitações e requisitos

  • Disponível em General Availability para Enterprise Edition ou superior.
  • Suportado apenas para tabelas e views temporárias que atuam como ponte genuína (possuem origem e destino).
  • Não há suporte para tabelas transient.
  • Suporta cadeias de até 10 nós temporários.

Como aplicar num pipeline

Essa melhoria garante que pipelines que usam tabelas de staging temporárias não percam o histórico de dependências e linhagem nas tabelas Gold.

Ver nota oficial do Snowflake

Lineage preservation through temporary tables and views (General availability)

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