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.
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: