Aller au contenu principal

Pipelines autonomes vs. Lakeflow Pipelines

Databricks propose deux façons de créer des vues matérialisées et des tables de streaming : les pipelines autonomes ou les Lakeflow Pipelines. Les deux fonctionnent avec le même moteur déclaratif et produisent des tables gérées par Unity Catalog. La différence réside dans la part du pipeline que vous créez et exploitez.

  • Une vue matérialisée ou une table de streaming autonome est un seul dataset défini avec la syntaxe SQL. Databricks crée et gère un pipeline en arrière-plan pour le refresh. Vous créez et refresh des datasets autonomes à partir d'un warehouse Databricks SQL, ou à partir d'un Notebook sur un compute général serverless à l'aide de spark.sql(). Voir pipelines autonomes.
  • Un LakeFlow pipeline est un pipeline que vous créez et utilisez comme une unité. Il peut contenir de nombreux datasets, en SQL et Python, avec orchestration des dépendances, lignage et fonctionnalités opérationnelles à l'échelle du pipeline. Voir Que sont les pipelines ?.

Lorsque vous créez une vue matérialisée autonome ou une table de streaming, le pipeline géré apparaît sur la page Tâches et pipelines avec un type de pipeline de MV/ST. Les datasets définis dans un LakeFlow Pipelines ont un type de pipeline de ETL.

Quand utiliser un pipeline autonome

Utilisez des vues matérialisées autonomes et des tables de streaming lorsque :

  • Vous accélérez les requêtes ou transformez les données avec une vue matérialisée unique ou une table de streaming.
  • Vous travaillez à partir d'un Databricks SQL warehouse, de l'éditeur SQL ou d'un notebook sur du compute général serverless, et planifiez les actualisations avec SCHEDULE, TRIGGER ON UPDATE ou une tâche SQL dans un job.
  • Vous n'avez pas besoin de sinks, d'orchestration multi-étapes ou d'autres fonctionnalités réservées aux pipelines.

Quand utiliser un LakeFlow Pipelines

Utilisez un Lakeflow pipeline lorsque :

  • Vous construisez un pipeline multi-étapes avec des datasets intermédiaires, où Databricks gère les dépendances et la lignée entre les datasets. Les datasets intermédiaires peuvent être publiés dans le catalogue ou être maintenus privés au pipeline.
  • Vous créez des tables et des flux en Python.
  • Vous écrivez dans des tables Delta externes ou des destinations de streaming d'événements à l'aide de récepteurs (create_sink() ou foreach_batch_sink()).
  • Vous appliquez la capture des modifications de données à partir d’un instantané de base de données à l’aide de create_auto_cdc_from_snapshot_flow().
  • Vous souhaitez une exécution Trigger ou continue sur l'ensemble du pipeline.

Comparaison

Propriété

Table de streaming autonome ou vue matérialisée

Table de streaming de pipeline ou vue matérialisée

Interface de création

syntaxe SQL, à partir d'un warehouse Databricks SQL ou avec spark.sql() dans un Notebook sur un compute serverless général

SQL et Python

Portée

Un dataset, dans un pipeline que Databricks gère pour vous

Nombreux datasets dans un seul pipeline, avec orchestration des dépendances et traçabilité

Exécution

Déclenché, avec SCHEDULE, TRIGGER ON UPDATE ou une tâche SQL

Déclenché ou continu

Fonctionnalités spécifiques au pipeline

Puits, create_auto_cdc_from_snapshot_flow(), datasets privés

Étiquette de type de Pipeline

MV/ST

ETL

Se déplacer entre les pipelines

Non pris en charge ; recréez la table dans le pipeline cible

Pris en charge

Propriété

Table de streaming autonome ou vue matérialisée

Table de streaming de pipeline ou vue matérialisée

Interface de création

syntaxe SQL, à partir d'un warehouse Databricks SQL ou avec spark.sql() dans un Notebook sur un compute serverless général

SQL et Python

Portée

Un dataset, dans un pipeline que Databricks gère pour vous

Nombreux datasets dans un seul pipeline, avec orchestration des dépendances et traçabilité

Exécution

Déclenché, avec SCHEDULE, TRIGGER ON UPDATE ou une tâche SQL

Déclenché ou continu

Fonctionnalités spécifiques au pipeline

Puits, create_auto_cdc_from_snapshot_flow(), datasets privés

Étiquette de type de Pipeline

MV/ST

ETL

Se déplacer entre les pipelines

Non pris en charge ; recréez la table dans le pipeline cible

Pris en charge