Référence linguistique Python des Lakeflow Pipelines
L'interface Python des Lakeflow pipelines est définie dans le module pyspark.pipelines, importé comme dp.
- Pour des informations conceptuelles et un aperçu de l'utilisation de Python pour les pipelines, consultez Développer du code de pipeline avec Python.
- Pour la référence SQL, consultez la référence du langage SQL de pipeline.
- Pour des détails spécifiques à la configuration d'Auto Loader, voir Qu'est-ce qu'Auto Loader ?.
pipelines présentation du module
Les fonctions Python des LakeFlow pipelines sont définies dans le module pyspark.pipelines (importées sous le nom dp). Vos pipelines implémentés avec l'API Python doivent importer ce module :
from pyspark import pipelines as dp
Le module de pipelines n'est disponible que dans le contexte d'un pipeline. Il n'est pas disponible dans Python exécuté en dehors des pipelines. Pour plus d'informations sur la modification du code de pipeline, consultez Développer et déboguer des LakeFlow Pipelines avec l'éditeur de pipelines ETL.
pipelines Apache Spark™
Apache Spark inclut des pipelines déclaratifs à partir de Spark 4.1, disponibles via le module pyspark.pipelines. Le Databricks Runtime étend ces capacités open source avec des APIs et des intégrations supplémentaires pour une utilisation en production gérée.
Le code écrit avec le module open source pipelines s'exécute sans modification sur Databricks. Les fonctionnalités suivantes ne font pas partie d'Apache Spark :
dp.create_auto_cdc_flowdp.create_auto_cdc_from_snapshot_flow@dp.expect(...)
Le module pipelines s'appelait auparavant dlt dans Databricks. Pour plus de détails, et davantage d'informations sur les différences avec Apache Spark, consultez Qu'est-il arrivé à @dlt?.
Fonctions pour les définitions de datasets
Les pipeline utilisent des décorateurs Python pour définir des dataset tels que les vues matérialisées et les tables de streaming. Voir Fonctions pour définir des datasets.
Référence de l'API
- append_flow
- create_auto_cdc_flow
- create_auto_cdc_from_snapshot_flow
- create_sink
- créer une table de streaming
- Attentes
- foreach_batch_sink
- vue matérialisée
- Table
- temporary_view
- update_flow
Exigences de codage pour les pipelines Python
Voici les exigences importantes lorsque vous implémentez des pipelines avec l'interface Python des Lakeflow Pipelines :
- Lakeflow pipelines évaluent le code qui définit un pipeline plusieurs fois pendant la planification et les exécutions de pipelines. Les fonctions Python qui définissent les datasets doivent inclure uniquement le code requis pour définir la table ou la vue. Une logique Python arbitraire incluse dans les définitions de dataset peut entraîner un comportement inattendu.
- N'essayez pas d'implémenter une logique de monitoring personnalisée dans vos définitions de dataset. Voir Définir le monitoring personnalisé des pipelines avec des hooks d'événements.
- La fonction utilisée pour définir un dataset doit renvoyer un DataFrame Spark. N'incluez pas de logique dans vos définitions de dataset qui n'est pas liée à un DataFrame renvoyé.
- N'utilisez jamais de méthodes qui enregistrent ou écrivent dans des fichiers ou des tables dans le cadre de votre code de dataset de pipeline.
Exemples d'Opérations Apache Spark qui ne devraient jamais être utilisées dans le code de pipeline :
collect()count()toPandas()save()saveAsTable()start()toTable()
Qu'est-il arrivé à @dlt?
Auparavant, Databricks utilisait le module dlt pour prendre en charge la fonctionnalité de pipeline. Le module dlt a été remplacé par le module pyspark.pipelines. Vous pouvez toujours utiliser dlt, mais Databricks recommande d'utiliser pipelines.
Différences entre DLT, Lakeflow Pipelines et Apache Spark Declarative Pipelines
Le tableau suivant montre les différences de syntaxe et de fonctionnalité entre les DLT, les LakeFlow Pipelines et les Apache Spark Declarative Pipelines.
Pour une comparaison au niveau des fonctionnalités de ce que les Lakeflow Pipelines partagent avec et ajoutent à Apache Spark Declarative Pipelines, consultez Apache Spark Declarative Pipelines.
Pour un mappage propriété par propriété de la configuration de pipeline à la spécification de projet SDP, consultez la référence des propriétés de pipeline.
Dans la documentation Databricks, le produit Databricks est appelé LakeFlow Pipelines , et le framework open source qu'il étend est Apache Spark™ Declarative Pipelines ( SDP ). Les deux sont interopérables, mais diffèrent par leurs fonctionnalités — par exemple, les AUTO CDC APIs sont disponibles uniquement dans les pipelines Lakeflow.
Zone (Area) | Syntaxe DLT | Syntaxe SDP (Lakeflow et Apache, le cas échéant) | Disponible dans Apache Spark |
|---|---|---|---|
Importations |
|
| Oui |
Table de streaming |
|
| Oui |
Vue matérialisée |
|
| Oui |
Afficher |
|
| Oui |
Flux d'ajout |
|
| Oui |
Mettre à jour le flux | Indisponible |
| Non |
SQL – streaming |
|
| Oui |
SQL – matérialisées |
|
| Oui |
SQL – flux |
|
| Oui |
Journal des événements |
|
| Non |
Appliquer les modifications (CDC) |
|
| Non |
Attentes |
|
| Non |
Mode continu | Configuration de pipeline avec Trigger continu | (même) | Non |
Puits |
|
| Oui |
ForEachBatch récepteur | Indisponible |
| Non |