Pular para o conteúdo principal

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.

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

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:

Mais informações