Que sont les pipelines ?
Un pipeline est l'unité principale de développement et d'exécution d'Apache Spark™ Declarative Pipelines (SDP) dans Lakeflow. Un pipeline est un ensemble de fichiers de code source et d’une configuration. Les fichiers source déclarent des datasets (tables de streaming, vues matérialisées et vues) ainsi que les requêtes et les flux qui les produisent. La configuration spécifie comment le pipeline s'exécute et où les données sont stockées.
Un pipeline est le conteneur des flux, des tables de streaming, des vues matérialisées et des récepteurs que vous définissez. Pendant l'exécution du pipeline, il analyse les dépendances entre ces objets et orchestre automatiquement leur ordre d'exécution et leur parallélisation. Pour plus de détails sur les objets que contient un pipeline, consultez Que sont les LakeFlow Pipelines ? Pour une comparaison des pipelines Lakeflow et des pipelines déclaratifs Apache Spark™, consultez Pipelines déclaratifs Apache Spark.
Code source du pipeline
Le code source du pipeline est écrit en Python ou en SQL. Un seul pipeline peut combiner des fichiers source Python et SQL, mais chaque fichier ne peut contenir qu'un seul langage. Parce que le pipeline analyse les dépendances de dataset dans tous ses fichiers sources, vous pouvez organiser le code source entre les fichiers dans n'importe quel ordre.
Pour des conseils de développement spécifiques au langage, consultez Développer le code de pipeline avec Python et Développer le code des LakeFlow Pipelines avec SQL.
Pipeline Graphe
Les pipelines déduisent automatiquement les dépendances entre les datasets et les organisent en un graphe orienté acyclique (DAG). Le Graphe détermine l'ordre d'évaluation : les datasets en amont sont calculés avant ceux en aval. Vous pouvez afficher et interagir avec le graphe de pipeline dans l'Éditeur de Lakeflow Pipelines.
Mises à jour du pipeline
Une mise à jour de pipeline calcule l'état actuel de chaque dataset en :
- Démarrage d'un cluster avec la configuration correcte.
- Analyse des fichiers source et construction du graphe de dépendance.
- Calcul ou mise à jour incrémentielle de chaque dataset dans l'ordre de dépendance.
Les pipelines s'exécutent en deux modes :
- Déclenché : Le pipeline s'exécute une fois et s'arrête lorsque tous les jeux de données sont à jour.
- **Continu :** Le pipeline s'exécute indéfiniment et traite les nouvelles données au fur et à mesure qu'elles arrivent.
Les mises à jour que vous Trigger de manière interactive depuis l'éditeur sont optimisées pour une itération rapide, en réutilisant le cluster et en désactivant les nouvelles tentatives automatiques. Consultez Mettre à jour le comportement d'exécution.
Types de pipeline
La liste **Jobs & Pipelines** comprend plus que de simples pipelines créés avec LakeFlow Pipelines. Databricks exécute plusieurs types de pipelines différents, et la liste **Jobs et pipelines** et la page de monitoring des pipelines étiquettent chacun d'eux avec un type afin que vous puissiez faire la distinction. Le tableau suivant met en correspondance chaque type de pipeline avec la valeur pipeline_type enregistrée dans le journal des événements:
Tapez Jobs et Pipelines |
| Description |
|---|---|---|
etl |
| Un LakeFlow Pipelines. See Spark Declarative Pipelines. |
Ingestion |
| Un pipeline d'ingestion géré créé avec Lakeflow Connect. Consultez les connecteurs gérés dans Lakeflow Connect. |
MV/ST |
| Un pipeline autonome. Consultez la rubrique Pipelines autonomes. |
Synchronisation de la table de base de données |
| Un pipeline qui synchronise une table avec une base de données Lakebase. Voir Servir les données lakehouse avec des tables synchronisées (Lakebase provisionné). |
Pipelines autonomes
Vous pouvez créer et gérer des tables de streaming et des vues matérialisées en dehors d'un Lakeflow pipeline en tant que pipelines autonomes . Vous pouvez utiliser Databricks SQL ou Python pour créer et refresh des tables de streaming et des vues matérialisées autonomes. Ils s'exécutent sur la même infrastructure Databricks et ont la même sémantique de traitement que dans un Lakeflow pipeline. Lorsque vous définissez une table de streaming ou une vue matérialisée autonome, les flux sont définis implicitement dans le cadre de la définition de la table de streaming ou de la vue matérialisée.
Pour plus de détails, consultez Pipelines autonomes.
Éditeur de LakeFlow Pipelines
L'éditeur de LakeFlow Pipelines est un IDE conçu pour le développement de pipelines. Elle fournit :
- Un éditeur de code multifichier pour les fichiers source Python et SQL
- Un explorateur d’assets de pipeline pour organiser les fichiers et les dossiers
- Un graphe de pipeline interactif montrant les dépendances et l'état du dataset
- Aperçus des données pour les tables streaming et les vues matérialisées
- Insights d'exécution et volet des problèmes affichant les résultats de la dernière exécution.
- Exécution sélective pour refresh des fichiers ou des tables individuels sans exécuter le pipeline complet.
L'éditeur s'intègre à la plateforme Databricks et prend en charge le contrôle de version via les dossiers Git. Pour des instructions détaillées, consultez Développer et déboguer des pipelines ETL avec l'Éditeur de LakeFlow Pipelines.