Esquema LIVE (legado)
Este artigo fornece uma visão geral da sintaxe e do comportamento legados do esquema virtual LIVE
.
O esquema virtual LIVE
é um recurso legado do pipeline declarativo LakeFlow e é considerado obsoleto. Você ainda pode usar o modo de publicação legado e o esquema virtual LIVE
para pipeline que foram criados com este modo.
Databricks recomenda migrar todo o pipeline para o novo modo de publicação. Você tem duas opções para migração:
- Mover tabelas (incluindo tabelas de exibição materializada e de transmissão) de um pipeline legado para um pipeline que usa o modo de publicação default . Para saber como mover tabelas entre pipelines, consulte Mover tabelas entre pipelines declarativos LakeFlow.
- Habilite o modo de publicação default em um pipeline que atualmente usa o modo de publicação legado. Consulte Habilitar o modo de publicação default em um pipeline.
Ambos os métodos são migrações unidirecionais. Não é possível migrar tabelas de volta para o modo legado.
O suporte para o esquema virtual legado LIVE
e o modo de publicação legado serão removidos em uma versão futura do Databricks.
O pipeline do modo de publicação legado é indicado no campo Resumo da interface do usuário de configurações do pipeline declarativo LakeFlow . Você também pode confirmar se um pipeline usa o modo de publicação legado se o campo target
estiver definido na especificação JSON do pipeline.
Não é possível usar a interface de configuração pipeline para criar um novo pipeline com o modo de publicação legado. Se você precisar implantar um novo pipeline usando a sintaxe legada LIVE
, entre em contato com seu representante account Databricks .
O que é o esquema virtual LIVE?
O esquema virtual LIVE
não é mais necessário para analisar a dependência dataset no modo de publicação default para o pipeline declarativo LakeFlow .
O esquema LIVE
é um conceito de programação no pipeline declarativo LakeFlow que define um limite virtual para todos os conjuntos de dados criados ou atualizados em um pipeline. Por design, o esquema LIVE
não está vinculado diretamente ao conjunto de dados em um esquema publicado. Em vez disso, o esquema LIVE
permite que a lógica em um pipeline seja planejada e executada mesmo que um usuário não queira publicar um conjunto de dados em um esquema.
No pipeline do modo de publicação legado, você pode usar a palavra-chave LIVE
para referenciar outro conjunto de dados no pipeline atual para leituras, por exemplo, SELECT * FROM LIVE.bronze_table
. No modo de publicação default para o novo pipeline declarativo LakeFlow , essa sintaxe é silenciosamente ignorada, o que significa que identificadores não qualificados usam o esquema atual. Consulte Definir o catálogo de destino e o esquema.
Modo de publicação legado para pipeline
O esquema virtual LIVE
é usado com o modo de publicação legado para o pipeline declarativo LakeFlow . Todas as tabelas criadas antes de 5 de fevereiro de 2025 usam o modo de publicação legado por default.
A tabela a seguir descreve o comportamento de todas as tabelas de exibição materializada e transmissão criadas ou atualizadas em um pipeline no modo de publicação legado:
Opção de armazenamento | Local de armazenamento ou catálogo | Esquema de destino | Comportamento |
---|---|---|---|
Hive Metastore | Nenhum especificado | Nenhum especificado | metadados e dados do conjunto de dados são armazenados na DBFS root. Nenhum objeto de banco de dados está registrado no Hive metastore. |
Hive Metastore | Um URI ou caminho de arquivo para armazenamento de objetos cloud . | Nenhum especificado | metadados e dados do conjunto de dados são armazenados no local de armazenamento especificado. Nenhum objeto de banco de dados está registrado no Hive metastore. |
Hive Metastore | Nenhum especificado | Um esquema existente ou novo no Hive metastore. | metadados e dados do conjunto de dados são armazenados na DBFS root. Todas as tabelas de exibição materializadas e de transmissão no pipeline são publicadas no esquema especificado no Hive metastore. |
Hive Metastore | Um URI ou caminho de arquivo para armazenamento de objetos cloud . | Um esquema existente ou novo no Hive metastore. | metadados e dados do conjunto de dados são armazenados no local de armazenamento especificado. Todas as tabelas de exibição materializadas e de transmissão no pipeline são publicadas no esquema especificado no Hive metastore. |
Unity Catalog | Um catálogo existente do Unity Catalog. | Nenhum especificado | Os metadados e dados do conjunto de dados são armazenados no local de armazenamento default associado ao catálogo de destino. Nenhum objeto de banco de dados está registrado no Unity Catalog. |
Unity Catalog | Um catálogo existente do Unity Catalog. | Um esquema existente ou novo no Unity Catalog. | Os metadados e dados do conjunto de dados são armazenados no local de armazenamento default associado ao esquema ou catálogo de destino. Todas as tabelas de visualização materializada e transmissão no pipeline são publicadas no esquema especificado no Unity Catalog. |
Atualizar código-fonte do esquema LIVE
pipeline configurado para execução com o novo modo de publicação default ignora silenciosamente a sintaxe do esquema LIVE
. Por default, todas as leituras de tabela usam o catálogo e o esquema especificados na configuração pipeline .
Para a maioria dos pipelines existentes, essa mudança de comportamento não tem impacto, pois o comportamento do esquema virtual LIVE
legado também direciona leituras para o catálogo e o esquema especificados na configuração pipeline .
Código legado com leituras que aproveitam o catálogo e o esquema default workspace exigem atualizações de código. Considere a seguinte definição view materializada:
CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM raw_data
No modo de publicação legado, uma leitura não qualificada da tabela raw_data
usa o catálogo e o esquema default workspace , por exemplo, main.default.raw_data
. No novo modo pipeline default , o catálogo e o esquema usados por default são aqueles configurados na configuração pipeline . Para garantir que esse código continue funcionando conforme o esperado, atualize a referência para usar o identificador totalmente qualificado da tabela, como no exemplo a seguir:
CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM main.default.raw_data
Trabalhar com log de eventos para pipeline de modo de publicação legado Unity Catalog
O event_log
TVF está disponível para pipeline de modo de publicação legado que publica tabelas no Unity Catalog. o comportamento padrão para o novo pipeline publica o log de eventos no catálogo de destino e no esquema configurado para o pipeline. Consulte Consultar o log de eventos.
Tabelas configuradas com o Hive metastore também têm suporte e comportamento de log de eventos diferentes. Consulte Trabalhar com log de eventos para pipeline Hive metastore.
Se o seu pipeline publicar tabelas no Unity Catalog com o modo de publicação legado, você deverá usar a função de valor de tabela event_log
(TVF) para buscar o log de eventos do pipeline. Você recupera o log de eventos de um pipeline passando o ID do pipeline ou um nome de tabela para o TVF. Por exemplo, para recuperar os registros de log de eventos do pipeline com ID 04c78631-3dd7-4856-b2a6-7d84e9b2638b
:
SELECT * FROM event_log("04c78631-3dd7-4856-b2a6-7d84e9b2638b")
Para recuperar os registros do log de eventos do pipeline que criou ou possui a tabela my_catalog.my_schema.table1
:
SELECT * FROM event_log(TABLE(my_catalog.my_schema.table1))
Para chamar o TVF, você deve usar um cluster compartilhado ou um SQL warehouse. Por exemplo, você pode usar o editorSQL conectado a um SQL warehouse.
Para simplificar a consulta de eventos para um pipeline, o proprietário do pipeline pode criar uma view sobre o event_log
TVF. O exemplo a seguir cria uma view sobre o log de eventos de um pipeline. Esta view é usada nas consultas log eventos de exemplo incluídas neste artigo.
- O
event_log
TVF pode ser chamado somente pelo proprietário do pipeline. - Não é possível usar a função com valor de tabela
event_log
em um pipeline ou consulta para acessar os logs de eventos de vários pipelines. - Você não pode compartilhar uma view criada sobre a função com valor de tabela
event_log
com outros usuários.
CREATE VIEW event_log_raw AS SELECT * FROM event_log("<pipeline-ID>");
Substitua <pipeline-ID>
pelo identificador exclusivo do pipeline. Você pode encontrar o ID no painel de detalhes do pipeline na interface do usuário do pipeline declarativo LakeFlow .
Cada instância de uma execução de pipeline é chamada de atualização . Muitas vezes você deseja extrair informações da atualização mais recente. execute a seguinte consulta para encontrar o identificador da atualização mais recente e salvá-lo na view temporária latest_update_id
. Esta view é usada nas consultas log eventos de exemplo incluídas neste artigo:
CREATE OR REPLACE TEMP VIEW latest_update AS SELECT origin.update_id AS id FROM event_log_raw WHERE event_type = 'create_update' ORDER BY timestamp DESC LIMIT 1;