Pipelines independentes versus pipelines Lakeflow

Azure Databricks oferece duas maneiras de criar visões materializadas e tabelas de streaming: pipelines independentes ou pipelines do Lakeflow. Ambos são executados no mesmo mecanismo declarativo e produzem tabelas gerenciadas do Catálogo do Unity. A diferença está no quanto do pipeline você cria e opera.

  • Uma exibição materializada autônoma ou uma tabela de streaming é um único conjunto de dados definido com sintaxe SQL. Azure Databricks cria e gerencia um pipeline nos bastidores para atualizá-lo. Você cria e atualiza conjuntos de dados autônomos a partir de um Databricks SQL warehouse ou de um notebook em computação geral sem servidor usando spark.sql(). Consulte pipelines independentes.
  • Um pipeline do Lakeflow é um pipeline que você cria e opera como uma unidade. Ele pode conter vários conjuntos de dados, em SQL e Python, com orquestração de dependências, rastreabilidade e recursos operacionais abrangendo todo o pipeline. Consulte O que são pipelines?.

Quando você cria uma exibição materializada independente ou uma tabela de streaming, o pipeline gerenciado é exibido na página Trabalhos & Pipelines com o tipo de pipeline de MV/ST. Os conjuntos de dados definidos em um pipeline Lakeflow são do tipo de pipeline ETL.

Quando usar um pipeline autônomo

Use visualizações materializadas independentes e tabelas de streaming quando:

  • Você acelera consultas ou transforma dados com uma única exibição materializada ou uma tabela de streaming.
  • Você trabalha a partir de um warehouse SQL do Databricks, do editor de SQL ou de um notebook com computação de uso geral sem servidor e agenda as atualizações com SCHEDULE, TRIGGER ON UPDATE ou uma tarefa SQL em um trabalho.
  • Você não precisa de coletores, de orquestração em vários estágios nem de outros recursos exclusivos de pipelines.

Quando usar um pipeline do Lakeflow

Use um pipeline do Lakeflow quando:

  • Você cria um pipeline de vários estágios com conjuntos de dados intermediários, em que Azure Databricks gerencia dependências e linhagem entre os conjuntos de dados. Conjuntos de dados intermediários podem ser publicados no catálogo ou mantidos privados no pipeline.
  • Você cria tabelas e fluxos em Python.
  • Você grava dados em tabelas Delta externas ou destinos de streaming de eventos usando coletores (create_sink() ou foreach_batch_sink()).
  • Você aplica a captura de dados de alterações a partir de um instantâneo do banco de dados usando create_auto_cdc_from_snapshot_flow().
  • Você deseja a execução acionada ou contínua em todo o pipeline.

Comparison

Propriedade Tabela de streaming autônoma ou exibição materializada Tabela de streaming de pipeline ou exibição materializada
Interface de criação Sintaxe SQL, em um warehouse SQL do Databricks ou usando spark.sql() em um notebook na computação geral sem servidor SQL e Python
Scope Um conjunto de dados, em um pipeline que Azure Databricks gerencia para você Vários conjuntos de dados em um pipeline, com orquestração de dependências e linhagem
Execução Acionada, com SCHEDULE, TRIGGER ON UPDATE, ou uma tarefa SQL Acionado ou contínuo
Recursos exclusivos do pipeline Coletores, create_auto_cdc_from_snapshot_flow(), conjuntos de dados privados
Rótulo de tipo de pipeline MV/ST ETL
Mover-se entre pipelines Sem suporte; recriar a tabela no pipeline de destino Supported