Esquema LIVE (legado)
Este artigo fornece uma visão geral da sintaxe e do comportamento herdados para o esquema virtual LIVE
.
O esquema virtual LIVE
é uma funcionalidade antiga das pipelines DLT e é considerado preterido. Você ainda pode usar o modo de publicação herdado e o esquema virtual LIVE
para pipelines que foram criados com esse modo.
O suporte para esquema virtual LIVE
legado e modo de publicação legado será removido numa versão futura do Azure Databricks.
Observação
Os pipelines do modo de publicação herdado são indicados no campo Resumo da UI de definições do pipeline DLT. Você também pode confirmar que um pipeline usa o modo de publicação herdado se o campo target
estiver definido na especificação JSON para o pipeline.
Não é possível usar a interface de configuração de pipeline para criar novos pipelines com o modo de publicação herdado. Se você precisar implantar novos pipelines usando sintaxe de LIVE
herdada, entre em contato com seu representante de conta Databricks.
O que é o esquema virtual LIVE?
Observação
O esquema virtual LIVE
não é mais necessário para analisar a dependência do conjunto de dados no modo de publicação padrão para DLT.
O esquema LIVE
é um conceito de programação em DLT 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 a conjuntos 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 conjuntos de dados em um esquema.
Em pipelines no modo de publicação herdado, você pode usar a palavra-chave LIVE
para referenciar outros conjuntos de dados no pipeline atual para leitura, por exemplo, SELECT * FROM LIVE.bronze_table
. No modo de publicação predefinido para novos pipelines DLT, essa sintaxe é ignorada sem aviso, 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 herdado para pipelines
O esquema virtual LIVE
é usado com o modo de publicação herdado para pipelines DLT. Todas as tabelas criadas antes de 5 de fevereiro de 2025 usam o modo de publicação herdado por padrão.
A tabela a seguir descreve o comportamento de todas as exibições materializadas e tabelas de streaming criadas ou atualizadas em um pipeline no modo de publicação herdado:
Opção de armazenamento | Local de armazenamento ou catálogo | Esquema de destino | Comportamento |
---|---|---|---|
Metastore do Hive | Nenhum especificado | Nenhum especificado | Os metadados e dados do conjunto de dados são armazenados na raiz DBFS. Nenhum objeto de banco de dados é registrado no metastore do Hive. |
Metastore do Hive | Um URI ou caminho de arquivo para o armazenamento de objetos na nuvem. | Nenhum especificado | Os metadados e os dados do conjunto de dados são armazenados no local de armazenamento especificado. Nenhum objeto de banco de dados é registrado no metastore do Hive. |
Metastore do Hive | Nenhum especificado | Um esquema novo ou existente no metastore do Hive. | Os metadados e dados do conjunto de dados são armazenados na raiz DBFS. Todas as visualizações materializadas e tabelas de streaming no pipeline são publicadas no esquema especificado no Hive Metastore. |
Metastore do Hive | Um URI ou caminho de arquivo para o armazenamento de objetos na nuvem. | Um esquema existente ou novo no metastore do Hive. | Os metadados e os dados do conjunto de dados são armazenados no local de armazenamento especificado. Todas as visualizações materializadas e tabelas de streaming no pipeline são publicadas no esquema especificado no metastore do Hive. |
Catálogo Unity | Um catálogo Unity Catalog existente. | Nenhum especificado | Os metadados e os dados do conjunto de dados são armazenados no local de armazenamento padrão associado ao catálogo de destino. Nenhum objeto de banco de dados é registrado no Catálogo Unity. |
Catálogo Unity | O catálogo Unity Catalog existente. | Um esquema existente ou novo no Unity Catalog. | Os metadados e os dados do conjunto de dados são armazenados no local de armazenamento padrão associado ao esquema ou catálogo de destino. Todas as visualizações materializadas e tabelas de streaming do pipeline são publicadas no esquema especificado no Unity Catalog. |
Atualizar código-fonte do esquema LIVE
Os pipelines configurados para serem executados com o novo modo de publicação padrão ignoram silenciosamente a sintaxe do esquema LIVE
. Por padrão, todas as leituras de tabela usam o catálogo e o esquema especificados na configuração do pipeline.
Para a maioria dos pipelines existentes, essa alteração de comportamento não tem impacto, pois o comportamento do esquema virtual LIVE
herdado também direciona leituras para o catálogo e o esquema especificados na configuração do pipeline.
Importante
O código herdado com leituras que aproveitam o catálogo e o esquema padrão do espaço de trabalho exigem atualizações de código. Considere a seguinte definição de visão materializada:
CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM raw_data
No modo de publicação herdado, uma leitura não qualificada da tabela raw_data
usa o catálogo e o esquema padrão do espaço de trabalho, por exemplo, main.default.raw_data
. No novo modo de pipeline padrão, o catálogo e o esquema usados por padrão são aqueles configurados na configuração do pipeline. Para garantir que esse código continue a funcionar conforme o esperado, atualize a referência para usar o identificador totalmente qualificado para a tabela, como no exemplo a seguir:
CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM main.default.raw_data
Trabalhar com registo de eventos para pipelines no modo de publicação legado do Unity Catalog
Importante
O event_log
TVF está disponível para pipelines do modo de publicação antigos que publicam tabelas no Unity Catalog. O comportamento padrão para novos pipelines publica o log de eventos no catálogo de destino e no esquema configurado para o pipeline. Consulte Consultar o log de eventos.
As tabelas configuradas com o metastore do Hive também têm suporte e comportamento diferentes ao log de eventos. Veja Trabalhar com registo de eventos para pipelines do metastore do Hive.
Se o teu pipeline publicar tabelas no Unity Catalog com o modo de publicação antigo, deverás utilizar a função com valor de tabela event_log
(TVF) para obter o registo de eventos do pipeline. Você obtém 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 para o pipeline com ID 04c78631-3dd7-4856-b2a6-7d84e9b2638b
:
SELECT * FROM event_log("04c78631-3dd7-4856-b2a6-7d84e9b2638b")
Para recuperar os registos de log de eventos para o 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 um bloco de anotações anexado a um cluster compartilhado ou usar o editor SQL conectado a um SQL warehouse.
Para simplificar a consulta de eventos para um pipeline, o proprietário do pipeline pode criar uma exibição sobre o event_log
TVF. O exemplo a seguir cria uma exibição sobre o log de eventos para um pipeline. Esse modo de exibição é usado nas consultas de log de eventos de exemplo incluídas neste artigo.
Observação
- O
event_log
TVF só pode ser chamado pelo proprietário do gasoduto. - Não é possível usar a função tabelada
event_log
num pipeline ou consulta para aceder aos registos de eventos de vários pipelines. - Não é possível partilhar uma visualização criada sobre a função com tabela valorada
event_log
com outros utilizadores.
CREATE VIEW event_log_raw AS SELECT * FROM event_log("<pipeline-ID>");
Substitua <pipeline-ID>
pelo identificador exclusivo do pipeline DLT. Você pode encontrar a ID no painel de detalhes do Pipeline na interface do usuário DLT.
Cada instância de uma execução de pipeline é chamada de atualização de . Muitas vezes, você deseja extrair informações para a atualização mais recente. Execute a consulta a seguir para localizar o identificador da atualização mais recente e salvá-lo no modo de exibição latest_update_id
temporário. Esse modo de exibição é usado nas consultas de log de 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;