Pipelines autonomes et pipelines Lakeflow

Azure Databricks offre deux façons de créer des vues matérialisées et des tables de streaming : des pipelines autonomes ou des pipelines Lakeflow. Les deux s’exécutent sur le même moteur déclaratif et produisent des tables gérées par le catalogue Unity. La différence est la quantité du pipeline que vous créez et utilisez.

  • Une vue matérialisée ou une table de streaming indépendante est un jeu de données unique défini à l’aide de la syntaxe SQL. Azure Databricks crée et gère un pipeline en arrière-plan pour l’actualiser. Vous créez et mettez à jour des jeux de données autonomes à partir d’un entrepôt SQL Databricks, ou à partir d’un notebook utilisant le calcul serverless à usage général via spark.sql(). Voir les pipelines indépendants.
  • Un pipeline Lakeflow est un pipeline que vous concevez et exploitez comme un tout. Il peut contenir de nombreux jeux de données, dans SQL et Python, avec l’orchestration des dépendances, la traçabilité et les fonctionnalités opérationnelles à l’échelle du pipeline. Voir Qu’est-ce que les pipelines ?.

Lorsque vous créez une vue matérialisée autonome ou une table de streaming, le pipeline managé s’affiche sur la page Travaux et pipelines avec un type de pipeline MV/ST. Les jeux de données définis dans un pipeline Lakeflow ont un type de pipeline ETL.

Quand utiliser un pipeline autonome

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

  • Vous accélérez les requêtes ou transformez des données à l’aide d’une vue matérialisée unique ou d’une table en streaming.
  • Vous travaillez depuis un entrepôt Databricks SQL, l’éditeur SQL ou un notebook utilisant le calcul serverless à usage général, et vous planifiez des actualisations avec SCHEDULE, TRIGGER ON UPDATE ou une tâche SQL dans un travail.
  • Vous n’avez pas besoin de collecteurs, d’orchestration multi-étapes ni d’autres fonctionnalités propres aux pipelines.

Quand utiliser un pipeline Lakeflow

Utilisez un pipeline Lakeflow quand :

  • Vous créez un pipeline à plusieurs étapes avec des jeux de données intermédiaires, où Azure Databricks gère les dépendances et la traçabilité entre les jeux de données. Les jeux de données intermédiaires peuvent être publiés dans le catalogue ou conservés privés dans le pipeline.
  • Vous créez des tables et des flux dans Python.
  • Vous écrivez vers 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 données modifiées depuis un instantané de base de données à l’aide de create_auto_cdc_from_snapshot_flow().
  • Vous souhaitez une exécution déclenchée ou continue sur l’ensemble du pipeline.

Comparison

Propriété Table de diffusion en continu autonome ou vue matérialisée Table de streaming du pipeline ou vue matérialisée
Interface de création Syntaxe SQL, depuis un entrepôt SQL Databricks ou avec spark.sql() dans un notebook utilisant le calcul serverless à usage général SQL et Python
Scope Un jeu de données, dans un pipeline qui Azure Databricks gère pour vous De nombreux jeux de données au sein d’un pipeline, avec orchestration et traçabilité des dépendances
Exécution Déclenché, avec SCHEDULE, TRIGGER ON UPDATEou une tâche SQL Déclenché ou continu
Fonctionnalités réservées au pipeline Récepteurs, create_auto_cdc_from_snapshot_flow(), jeux de données privés
Libellé du type de pipeline MV/ST ETL
Passer d’un pipeline à l’autre Non pris en charge ; la table doit être recréée dans le pipeline cible Soutenu