O que são pipelines?

Um pipeline é a principal unidade de desenvolvimento e execução nos Pipelines Declarativos do Apache Spark (SDP) no Lakeflow. Um pipeline é uma coleção de arquivos de código-fonte e uma configuração. Os arquivos-fonte declaram conjuntos de dados (tabelas de streaming, visões materializadas e visões) juntamente com as consultas e os fluxos que os produzem. A configuração especifica como o pipeline é executado e onde os dados são armazenados.

Pipeline é o contêiner dos fluxos, tabelas de streaming, exibições materializadas e coletores que você define. Enquanto o pipeline é executado, ele analisa as dependências entre esses objetos e orquestra automaticamente sua ordem de execução e paralelização. Para saber mais sobre os objetos que um pipeline inclui, consulte O que são os pipelines do Lakeflow?. Para obter uma comparação dos pipelines do Lakeflow e dos Pipelines Declarativos do Apache Spark™, consulte Os Pipelines Declarativos do Apache Spark.

Código-fonte do pipeline

O código-fonte do pipeline é escrito em Python ou SQL. Um único pipeline pode misturar arquivos de origem Python e SQL, mas cada arquivo pode conter apenas um idioma. Como o pipeline analisa as dependências do conjunto de dados em todos os arquivos de origem, você pode organizar o código-fonte entre arquivos em qualquer ordem.

Para obter orientações de desenvolvimento específicas para cada linguagem, consulte Desenvolver código de pipeline com Python e Desenvolver código de pipelines do Lakeflow com SQL.

Grafo do pipeline

Os pipelines inferem automaticamente dependências entre conjuntos de dados e as organizam em um DAG (grafo acíclico dirigido). O grafo determina a ordem de avaliação: os conjuntos de dados upstream são computados antes dos downstream. Você pode exibir e interagir com o grafo de pipeline no Editor do Lakeflow Pipelines.

Atualizações de pipeline

Uma atualização de pipeline calcula o estado atual de cada conjunto de dados:

  1. Iniciando um cluster com a configuração correta.
  2. Analisando arquivos de origem e criando o grafo de dependência.
  3. Computando ou atualizando incrementalmente cada conjunto de dados em ordem de dependência.

Os fluxos funcionam em dois modos:

  • Acionado: o pipeline é executado uma única vez e é encerrado quando todos os conjuntos de dados estão atualizados.
  • Contínuo: o pipeline é executado indefinidamente e processa novos dados à medida que chega.

As atualizações que você aciona interativamente no editor são otimizadas para iteração rápida, reutilizando o cluster e desativando as novas tentativas automáticas. Consulte o comportamento de execução de atualização.

Tipos de pipeline

A lista Trabalhos & Pipelines inclui não apenas pipelines criados com pipelines do Lakeflow. O Azure Databricks executa vários tipos diferentes de pipelines, e a lista Jobs & Pipelines e a página de monitoramento de pipelines identificam cada um com um tipo, para que você possa distinguir um do outro. A tabela a seguir mapeia cada tipo de pipeline para o valor pipeline_type registrado no log de eventos:

Digite em Jobs & Pipelines pipeline_type no log de eventos Description
ETL WORKSPACE Um pipeline do Lakeflow. Consulte Pipelines Declarativos do Spark.
Ingestion MANAGED_INGESTION Um pipeline de ingestão gerenciada criado com o Lakeflow Connect. Veja os conceitos de conectores Lakeflow Connect.
MV/ST DBSQL Um pipeline independente. Consulte pipelines independentes.
Sincronização de Tabela de Banco de Dados DATABASE_TABLE_SYNC Um pipeline que sincroniza uma tabela para um banco de dados Lakebase. Consulte os dados do Serve lakehouse com tabelas sincronizadas.

Pipelines independentes

Você pode criar e gerenciar tabelas de streaming e exibições materializadas fora de um pipeline do Lakeflow como pipelines autônomos. Você pode usar o DATAbricks SQL ou Python para criar e atualizar tabelas de streaming autônomas e exibições materializadas. Eles são executados na mesma infraestrutura Azure Databricks e têm a mesma semântica de processamento que em um pipeline do Lakeflow. Quando você define uma tabela de streaming autônoma ou uma exibição materializada, os fluxos são definidos implicitamente como parte da tabela de streaming ou da definição de exibição materializada.

Para obter detalhes, consulte pipelines autônomos.

Editor de Pipelines do Lakeflow

O Editor do Lakeflow Pipelines é um IDE criado para desenvolvimento de pipeline. Ele fornece:

  • Um editor de código de vários arquivos para arquivos de origem Python e SQL
  • Um navegador de ativos de pipeline para organizar arquivos e pastas
  • Um grafo de pipeline interativo mostrando as dependências e o estado do conjunto de dados
  • Versões prévias de dados para tabelas de streaming e exibições materializadas
  • Informações de execução e um painel de problemas mostrando os resultados da execução mais recente
  • Execução seletiva para atualizar arquivos ou tabelas individuais sem executar o pipeline completo

O editor integra-se à plataforma Azure Databricks e dá suporte ao controle de versão por meio de pastas Git. Para obter diretrizes passo a passo, consulte Desenvolver e depurar pipelines de ETL com o Editor de Pipelines do Lakeflow.

Recursos adicionais