O que são os pipelines?

Um pipeline é a principal unidade de desenvolvimento e execução dos Apache™ Spark Declarative Pipelines (SDP) no Lakeflow. Um pipeline é uma coleção de ficheiros de código-fonte e uma configuração. Os ficheiros de origem declaram conjuntos de dados (tabelas de streaming, vistas materializadas e vistas), juntamente com as consultas e os fluxos que os produzem. A configuração especifica como o pipeline funciona e onde os dados são armazenados.

Um pipeline é o contentor para os fluxos, tabelas de streaming, vistas materializadas e sumidouros que defines. Enquanto o pipeline funciona, analisa as dependências entre estes objetos e orquestra automaticamente a sua ordem de execução e paralelização. Para obter detalhes sobre os objetos contidos num pipeline, consulte O que são pipelines Lakeflow?. Para uma comparação entre oleodutos Lakeflow e Oleodutos Declarativos Apache Spark™, consulte Oleodutos Declarativos Apache Spark.

Código-fonte do pipeline

O código-fonte do pipeline é escrito em Python ou SQL. Um único pipeline pode misturar ficheiros fonte em Python e SQL, mas cada ficheiro pode conter apenas uma linguagem. Como o pipeline analisa as dependências do conjunto de dados em todos os seus ficheiros fonte, pode organizar o código-fonte entre ficheiros em qualquer ordem.

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

Grafo de canalização

Os pipelines inferem automaticamente dependências entre conjuntos de dados e organizam-nas num grafo acíclico direcionado (DAG). O gráfico determina a ordem de avaliação: os conjuntos de dados a montante são calculados antes dos posteriores. Pode visualizar e interagir com o grafo de pipeline no Editor de Pipelines Lakeflow.

Atualizações da canalização

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

  1. Iniciar um cluster com a configuração correta.
  2. Analisar ficheiros fonte e construir o grafo de dependências.
  3. Calcular ou atualizar incrementalmente cada conjunto de dados por ordem de dependências.

Os pipelines funcionam em dois modos:

  • Acionado: O pipeline é executado uma vez e termina quando todos os conjuntos de dados estão atualizados.
  • Contínuo: O pipeline corre indefinidamente e processa novos dados à medida que chegam.

As atualizações que acionas interativamente a partir do editor são otimizadas para iterações rápidas, reutilizando o cluster e desativando as tentativas automáticas. Veja Atualizar comportamento de execução.

Tipos de pipeline

A lista de Empregos & Oleodutos inclui mais do que apenas oleodutos criados com oleodutos Lakeflow. O Azure Databricks executa vários tipos diferentes de pipelines, e a lista Jobs & Pipelines e a página de monitorização de pipelines identificam cada um com um tipo para que consiga distingui-los. A tabela seguinte mapeia cada tipo de pipeline para o pipeline_type valor registado no registo de eventos:

Digite Empregos e Pipelines pipeline_type no registo de eventos Description
ETL WORKSPACE Um oleoduto Lakeflow. Ver Pipelines Declarativos Spark.
Ingestion MANAGED_INGESTION Uma canalização de ingestão gerida criada com o Lakeflow Connect. Veja os conceitos de conectores Lakeflow Connect.
MV/ST DBSQL Um fluxo de processamento independente. Ver Oleodutos independentes.
Sincronização de Tabelas de Base de Dados DATABASE_TABLE_SYNC Um pipeline que sincroniza uma tabela com uma base de dados Lakebase. Veja Servir dados do lakehouse com tabelas sincronizadas.

Pipelines independentes

Pode criar e gerir tabelas de streaming e vistas materializadas fora de um pipeline Lakeflow como pipelines independentes. Pode usar Databricks, SQL ou Python para criar e atualizar tabelas de streaming autónomas e vistas materializadas. Correm na mesma infraestrutura do Azure Databricks e têm a mesma semântica de processamento que num pipeline Lakeflow. Quando se define uma tabela de streaming autónoma ou uma vista materializada, os fluxos são definidos implicitamente como parte da definição da tabela de streaming ou da vista materializada.

Para mais detalhes, veja pipelines autónomos.

Editor de oleodutos Lakeflow

O Lakeflow Pipelines Editor é um IDE desenvolvido para o desenvolvimento de oleodutos. Dispõe o seguinte:

  • Um editor de código multi-ficheiro para ficheiros fonte em Python e SQL
  • Um explorador de recursos do pipeline para organizar ficheiros e pastas
  • Um grafo de pipeline interativo que mostra dependências e estado de conjuntos de dados
  • Pré-visualizações de dados para tabelas de streaming e visualizações materializadas
  • Informações de execução e um painel de problemas com os resultados da execução mais recente
  • Execução seletiva para atualizar ficheiros ou tabelas individuais sem correr todo o pipeline

O editor integra-se com a plataforma Azure Databricks e suporta controlo de versões através de pastas Git. Para obter orientações passo a passo, consulte Desenvolvimento e depuração de pipelines ETL com o Editor do Lakeflow Pipelines.

Recursos adicionais