LakeFlow Conceitos de pipeline declarativo
Saiba o que é LakeFlow Declarative pipeline, 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 é LakeFlow Declarative pipeline?
LakeFlow O Declarative Pipeline é uma estrutura declarativa para desenvolver e executar lotes e pipeline de transmissão de dados em SQL e Python. LakeFlow Execução de pipeline declarativo no Databricks Runtime (DBR) otimizado para desempenho e o LakeFlow Pipeline declarativo flows
API usa o mesmo DataFrame API que Apache Spark e transmissão estruturada. Casos de uso comuns para o pipeline declarativo LakeFlow 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 do pipeline declarativo LakeFlow?
A natureza declarativa do LakeFlow Declarative pipeline 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 LakeFlow Jobs.
- Orquestração automática : LakeFlow O pipeline declarativo 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 declarativo LakeFlow 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, o pipeline LakeFlow Declarative continuará a tentar novamente o fluxo e, por fim, todo o pipeline, se necessário.
- Processamento declarativo : LakeFlow O pipeline declarativo 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. O pipeline declarativo LakeFlow AUTO CDC APIsimplifica 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 : LakeFlow O pipeline declarativo fornece 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 do pipeline declarativo LakeFlow.
Fluxos
Um fluxo é o conceito fundamental de processamento de dados no pipeline declarativo LakeFlow, que oferece suporte às semânticas de transmissão e 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. LakeFlow O pipeline declarativo compartilha o mesmo tipo de fluxo de transmissão (Append , Update , Complete ) que o Spark transmissão estructurada. (Atualmente, somente o fluxo Append está exposto.) Para obter mais detalhes, consulte modos de saída na transmissão estruturada.
LakeFlow O pipeline declarativo também oferece tipos de fluxo adicionais:
- O Auto CDC é um fluxo de transmissão exclusivo no pipeline declarativo LakeFlow que lida com eventos fora de ordem CDC e é compatível com SCD Tipo 1 e SCD Tipo 2.
- A visualização materializada é um fluxo de lotes exclusivo no pipeline declarativo LakeFlow 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 LakeFlow Declarative pipeline. Uma tabela de transmissão pode ter um ou mais fluxos de transmissão (Append , Auto CDC ) gravados nela. O AUTO CDC é um fluxo de transmissão exclusivo que só está disponível para as 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 o pipeline declarativo LakeFlow e atualmente é compatível com 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
A pipeline é a unidade de desenvolvimento e execução no pipeline LakeFlow Declarative. O site pipeline pode conter um ou mais fluxos, tabelas de transmissão, visualização materializada e sinks. O senhor usa o pipeline declarativo LakeFlow 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 Pipeline declarativo LakeFlow
LakeFlow O pipeline declarativo 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 são executadas na mesma infraestrutura de Databricks e têm a mesma semântica de processamento que têm em LakeFlow Declarative 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: