O que são pipelines?
Um pipeline é a principal unidade de desenvolvimento e execução de Apache Spark™ Declarative Pipelines (SDP) no Lakeflow. Um pipeline é uma coleção de arquivos de código-fonte e uma configuração. Os arquivos de origem declaram datasets (tabelas de transmissão, exibições materializadas e exibições) juntamente com as queries e os fluxos que os produzem. A configuração especifica como o pipeline é executado e onde os dados são armazenados.
Um pipeline é o contêiner para os fluxos, tabelas de transmissão, views 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 obter detalhes sobre os objetos que um pipeline contém, consulte O que são Lakeflow Pipelines?. Para uma comparação dos Pipelines do Lakeflow e dos Pipelines Declarativos do Apache Spark™, consulte 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-fonte Python e SQL, mas cada arquivo pode conter apenas uma linguagem. Como o pipeline analisa as dependências do dataset em todos os seus arquivos de origem, você pode organizar o código-fonte em arquivos em qualquer ordem.
Para obter orientação de desenvolvimento específica do idioma, consulte Desenvolva código de pipeline com Python e Desenvolva código de LakeFlow Pipelines com SQL.
Gráfico de pipeline
Pipelines inferem automaticamente dependências entre datasets e as organizam em um gráfico acíclico direcionado (DAG). O gráfico determina a ordem de avaliação: datasets a montante são computados antes dos a jusante. É possível visualizar e interagir com o gráfico do pipeline no Editor de LakeFlow Pipelines.
Atualizações de pipeline
Uma atualização de pipeline calcula o estado atual de cada dataset por meio de:
- Iniciar um cluster com a configuração correta.
- Analisando arquivos de origem e construindo o gráfico de dependência.
- Computando ou atualizando de forma incremental cada dataset na ordem de dependência.
Pipelines são executados em dois modos:
- Acionado : o pipeline é executado uma vez e para quando todos os datasets estiverem atualizados.
- Contínuo: O pipeline executa indefinidamente e processa novos dados à medida que chegam.
As atualizações acionadas interativamente no editor otimizam para iterações rápidas, reutilizando o cluster e desativando as tentativas automáticas. Consulte Atualizar comportamento de execução.
Tipos de pipeline
A lista Jobs e Pipelines inclui mais do que apenas pipelines criados com LakeFlow Pipelines. A Databricks executa vários tipos diferentes de pipelines, e a lista Jobs e Pipelines e a página de monitoramento de pipeline rotulam cada um com um tipo para que você possa diferenciá-los. A tabela a seguir mapeia cada tipo de pipeline para o valor pipeline_type registrado no log de eventos:
Digite em **Jobs e pipelines** |
| Descrição |
|---|---|---|
ETL |
| Um Lakeflow pipeline. See Spark Declarative Pipelines. |
Ingestão |
| Um pipeline de ingestão gerenciado criado com LakeFlow Connect. Consulte conectores gerenciados no LakeFlow Connect. |
MV/ST |
| Um pipeline autônomo. Veja pipelines independentes. |
Pipelines autônomos
É possível criar e gerenciar tabelas de transmissão e visualizações materializadas fora de um Lakeflow pipeline como *pipelines autônomos*. É possível usar Databricks SQL ou Python para criar e refresh tabelas de transmissão autônomas e visualizações materializadas. Eles são executados na mesma infraestrutura Databricks e têm a mesma semântica de processamento que em um LakeFlow pipeline. Quando você define uma tabela de transmissão autônoma ou view materializada, os fluxos são definidos implicitamente como parte da definição da tabela de transmissão ou view materializada.
Para obter detalhes, consulte pipelines autônomos.
Editor LakeFlow Pipelines
O Editor de LakeFlow Pipelines é uma IDE desenvolvida para o desenvolvimento de pipeline. Fornece:
- Um editor de código multifile para arquivos de origem Python e SQL
- Um navegador de ativos de pipeline para organizar arquivos e pastas
- Um gráfico de pipeline interativo mostrando as dependências e o estado do dataset.
- Pré-visualizações de dados para tabelas de transmissão e views materializadas
- Percepções de execução e um painel de problemas exibindo resultados da execução mais recente
- Execução seletiva para refresh arquivos ou tabelas individuais sem executar o pipeline completo.
O editor integra-se à Databricks Platform e oferece suporte para controle de versão por meio de pastas Git. Para obter orientações passo a passo, consulte Desenvolva e depure pipelines ETL com o Editor do Lakeflow Pipelines.