Pular para o conteúdo principal

Conceitos de DLT

Saiba o que é DLT, os principais conceitos (como pipeline, tabelas de transmissão e visualização materializada) que o definem, as relações entre esses conceitos e os benefícios de usá-lo em seu fluxo de trabalho de processamento de dados.

O que é DLT?

DLT é uma estrutura declarativa para desenvolver e executar lotes e pipeline de transmissão de dados em SQL e Python. DLT execução no Databricks Runtime otimizado para desempenho (DBR), e o DLT flows API usa o mesmo DataFrame API que o Apache Spark e transmissão estruturada. Casos de uso comuns para DLT incluem ingestão incremental de dados de fontes como armazenamento em nuvem (incluindo Amazon S3, Azure ADLS Gen2 e Google Cloud Storage) e barramentos de mensagens (como Apache Kafka, Amazon Kinesis, Google Pub/Sub, Azure EventHub e Apache Pulsar), lotes incrementais e transformações de transmissão com operadores sem estado e com estado e processamento de transmissão em tempo real entre armazenamentos transacionais como barramentos de mensagens e bancos de dados.

Para obter mais detalhes sobre o processamento declarativo de dados, consulte Processamento de dados procedimental vs. declarativo na Databricks.

Quais são os benefícios da DLT?

A natureza declarativa do DLT oferece os seguintes benefícios em comparação com o desenvolvimento de pipeline de dados com o Apache Spark e Spark transmissão estructurada APIs e executá-los com o Databricks Runtime usando a orquestração manual via Databricks Jobs.

  • Orquestração automática : Um DLT pipeline orquestra as etapas de processamento (chamadas de fluxos "" ) automaticamente para garantir a ordem correta de execução e o nível máximo de paralelismo para um desempenho ideal. Além disso, o pipeline DLT repete automaticamente e com eficiência as falhas transitórias. O processo de repetição começa com a unidade mais granular e econômica: a tarefa Spark. Se a nova tentativa no nível da tarefa falhar, a DLT continuará a tentar novamente o fluxo e, por fim, todo o pipeline, se necessário.
  • Processamento declarativo : o site DLT oferece funções declarativas que podem reduzir centenas ou até milhares de linhas de código manual de Spark e transmissão estruturada para apenas algumas linhas. DLTO Apply Changes API simplifica o processamento de eventos de captura de dados de alterações (CDC) (CDC) com suporte para SCD Tipo 1 e SCD Tipo 2. Ele elimina a necessidade de código manual para lidar com eventos fora de ordem e não requer um entendimento da semântica de transmissão ou de conceitos como marcas d'água.
  • Processamento incremental : o site DLT oferece um mecanismo de processamento incremental para a visualização materializada. Para usá-lo, o senhor escreve sua lógica de transformações com muitas semânticas, e o mecanismo só processará novos dados e alterações na fonte de dados sempre que possível. O processamento incremental reduz o reprocessamento ineficiente quando novos dados ou alterações ocorrem nas fontes e elimina a necessidade de código manual para lidar com o processamento incremental.

Conceitos-chave

O diagrama abaixo ilustra os conceitos mais importantes da DLT.

Um diagrama que mostra como os principais conceitos de DLT se relacionam entre si em um nível muito alto

Fluxos

Um fluxo é o conceito fundamental de processamento de dados em DLT, que suporta tanto a transmissão quanto a semântica de lotes. Um fluxo lê dados de uma fonte, aplica a lógica de processamento definida pelo usuário e grava o resultado em um destino. DLT compartilha o mesmo tipo de fluxo de transmissão (Append , Update , Complete ) que Spark transmissão estructurada. (Atualmente, somente o fluxo Append está exposto.) Para obter mais detalhes, consulte modos de saída na transmissão estruturada.

A DLT também oferece tipos de fluxo adicionais:

  • Apply Changes é um fluxo de transmissão exclusivo em DLT que lida com eventos fora de ordem em CDC e é compatível com SCD Tipo 1 e SCD Tipo 2.
  • A visualização materializada é um fluxo de lotes exclusivo em DLT que processa apenas novos dados e alterações nas tabelas de origem sempre que possível.

Para mais detalhes, consulte:

tabelas de transmissão

Uma tabela de transmissão é uma forma de Unity Catalog gerenciar tabela que também é um alvo de transmissão para um DLT pipeline. Uma tabela de transmissão pode ter um ou mais fluxos de transmissão (Append , Apply Changes ) gravados nela. Apply Changes (Aplicar alterações ) é um fluxo de transmissão exclusivo que só está disponível para tabelas de transmissão. O senhor pode definir os fluxos de transmissão de forma explícita e separada da tabela de transmissão de destino. O senhor também pode definir fluxos de transmissão implicitamente como parte de uma definição de tabela de transmissão.

Para mais detalhes, consulte:

Visualização materializada

Um viewmaterializado também é uma forma de Unity Catalog gerenciar tabela e é um alvo de lotes. Um view materializado pode ter um ou mais fluxos view materializados gravados nele. A visualização materializada difere das tabelas de transmissão porque o senhor sempre define os fluxos implicitamente como parte da definição da view materializada.

Para mais detalhes, consulte:

Pias

Um sink é um destino de transmissão para DLT e atualmente suporta tabelas Delta, tópicos Apache Kafka e tópicos Azure EventHubs. Um sink pode ter um ou mais fluxos de transmissão (Append ) gravados nele.

Para mais detalhes, consulte:

tubulação

Um pipeline é a unidade de desenvolvimento e execução em DLT. O site pipeline pode conter um ou mais fluxos, tabelas de transmissão, visualização materializada e sinks. O senhor usa o DLT definindo fluxos, tabelas de transmissão, visualizações materializadas e sinks em seu código-fonte pipeline e, em seguida, executando o pipeline. Durante a execução do pipeline, ele analisa as dependências dos fluxos definidos, das tabelas de transmissão, da visualização materializada e dos sinks, e orquestra a ordem de execução e a paralelização automaticamente.

Para mais detalhes, consulte:

Databricks SQL para DLT

DLT Fornece tabelas de transmissão e visualização materializada como dois recursos fundamentais do ETL em Databricks SQL. O senhor pode usar o padrão SQL para criar e refresh transmitir tabelas e visualizações materializadas em Databricks SQL. As tabelas de transmissão e a visualização materializada em Databricks SQL execução na mesma infraestrutura Databricks e têm a mesma semântica de processamento que têm em um DLT pipeline. Quando o senhor usa tabelas de transmissão e visualizações materializadas em Databricks SQL, os fluxos são definidos implicitamente como parte da definição das tabelas de transmissão e visualizações materializadas.

Para mais detalhes, consulte:

Mais informações