Pipeline indipendenti vs. pipeline Lakeflow

Azure Databricks offre due modi per creare viste materializzate e tabelle di streaming: pipeline autonome o pipeline di Lakeflow. Entrambi vengono eseguiti nello stesso motore dichiarativo e producono tabelle gestite del catalogo Unity. La differenza sta in quanta parte della pipeline progetti e gestisci.

  • Una vista materializzata autonoma o una tabella di streaming è un singolo set di dati definito con la sintassi SQL. Azure Databricks crea e gestisce una pipeline in background per aggiornarla. È possibile creare e aggiornare set di dati autonomi da un databricks SQL warehouse o da un notebook in un ambiente di calcolo generale serverless usando spark.sql(). Vedere Pipeline autonome.
  • Una pipeline Lakeflow è una pipeline che progetti e gestisci come un'unica unità. Può contenere molti set di dati, in SQL e Python, con orchestrazione delle dipendenze, derivazione e funzionalità operative a livello di pipeline. Vedere Che cosa sono le pipeline?.

Quando crei una vista materializzata autonoma o una tabella di streaming autonoma, la pipeline gestita viene visualizzata nella pagina Processi e pipeline con un tipo di pipeline MV/ST. I set di dati definiti in una pipeline Lakeflow hanno un tipo di pipeline pari a ETL.

Quando usare una pipeline autonoma

Usare viste materializzate autonome e tabelle di streaming quando:

  • È possibile accelerare le query o trasformare i dati con una singola vista materializzata o tabella di streaming.
  • Puoi lavorare da un warehouse SQL di Databricks, dall'editor SQL o da un notebook su calcolo generico serverless e pianificare gli aggiornamenti con SCHEDULE, TRIGGER ON UPDATE o un'attività SQL in un job.
  • Non sono necessari sink, orchestrazione a più fasi o altre funzionalità di sola pipeline.

Quando usare una pipeline Lakeflow

Utilizza una pipeline Lakeflow quando:

  • Si crea una pipeline a più fasi con set di dati intermedi, in cui Azure Databricks gestisce le dipendenze e la derivazione tra i set di dati. I set di dati intermedi possono essere pubblicati nel catalogo o mantenuti privati nella pipeline.
  • È possibile creare tabelle e flussi in Python.
  • Si scrive in tabelle Delta esterne o in destinazioni di streaming di eventi usando i sink (create_sink() o foreach_batch_sink()).
  • È possibile applicare Change Data Capture da uno snapshot del database usando create_auto_cdc_from_snapshot_flow().
  • Si desidera un'esecuzione attivata da trigger o continua in tutta la pipeline.

Confronto

Property Tabella di streaming autonoma o vista materializzata Tabella di streaming della pipeline o vista materializzata
Interfaccia di creazione Sintassi SQL, da un warehouse SQL di Databricks o con spark.sql() in un notebook su elaborazione serverless per uso generico SQL e Python
Scope Un set di dati, in una pipeline che Azure Databricks gestisce automaticamente Molti set di dati in una pipeline, con orchestrazione e derivazione delle dipendenze
Esecuzione Attivato, con SCHEDULE, TRIGGER ON UPDATE, o un'attività SQL Attivato o continuo
Funzionalità esclusive della pipeline Sink, create_auto_cdc_from_snapshot_flow(), set di dati privati
Etichetta del tipo di pipeline MV/ST ETL
Passare da una pipeline all'altra Non supportata; ricreare la tabella nella pipeline di destinazione Supported