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 UPDATEou 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()ouforeach_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 | 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 | Déclenché ou continu |
Fonctionnalités spécifiques au pipeline | Puits, | |
Étiquette de type de Pipeline |
|
|
Se déplacer entre les pipelines | Non pris en charge ; recréez la table dans le pipeline cible | Pris en charge |