Pijplijncode ontwikkelen in uw lokale ontwikkelomgeving

U kunt Python broncode voor pijplijnen schrijven in uw favoriete IDE (Integrated Development Environment), deze lokaal uitvoeren voor testen, vervolgens updates valideren, implementeren en uitvoeren in uw Azure Databricks werkruimte zonder uw lokale omgeving te verlaten.

Lakeflow-pijplijnen zijn een superset van declaratieve Apache Spark-pijplijnen™. Code die alleen apache Spark-declaratieve pijplijnen-API's gebruikt, wordt lokaal en op Azure Databricks uitgevoerd, maar code die gebruikmaakt van functies die uniek zijn voor Lakeflow-pijplijnen, zoals AUTO CDC verwachtingen, wordt alleen uitgevoerd op Azure Databricks. Zie Lakeflow-pijplijnen Python taalverwijzing voor de functieverschillen.

Gebruik de Lakeflow Pipelines Editor voor interactieve ontwikkeling en testen in de Azure Databricks-werkruimte. Zie ETL-pijplijnen ontwikkelen en fouten opsporen met de Lakeflow Pipelines Editor.

Pijplijncode schrijven met IDE-ondersteuning

Pijplijncode schrijven met behulp van de pyspark.pipelines module, geïmporteerd als dp:

from pyspark import pipelines as dp

Omdat de module deel uitmaakt van Apache Spark, biedt uw IDE syntaxiscontrole, automatisch aanvullen en typen tijdens het schrijven. Apache Spark-code voor declaratieve pijplijnen wordt doorgaans uitgevoerd zonder wijzigingen op Azure Databricks. Wanneer u dezelfde importopdracht uitvoert in een Lakeflow-pijplijn, wordt de Azure Databricks-versie van pipelines geïmporteerd. Zie Lakeflow pipelines Python-taalreferentie voor de volledige Python-taalreferentie voor Lakeflow pipelines.

Aparte transformatielogica voor lokaal testen

De meest effectieve manier om pijplijncode lokaal testbaar te maken, is door je transformatielogica in gewone PySpark-functies te houden, gescheiden van de dp decorators. Een functie die een DataFrame als invoer krijgt en een DataFrame retourneert, is niet afhankelijk van de runtime van Lakeflow-pijplijnen, dus je kunt die met pytest unit-testen op je lokale machine, net als andere Apache Spark-code. Houd de gedecoreerde functies klein, zodat ze de logica importeren en deze aanroepen:

# transformations/clean.py — pure PySpark, unit-testable on its own
def clean_orders(df):
    return df.filter("quantity > 0").withColumn("amount_usd", df.amount.cast("double"))

# pipeline file — a thin dp wrapper that imports and calls the logic
from pyspark import pipelines as dp
from transformations.clean import clean_orders

@dp.table(name="orders_silver")
def orders_silver():
    return clean_orders(spark.readStream.table("orders_bronze"))

Je kunt de gedeelde logica als een wiel verpakken om het te hergebruiken in pipelines. Zie Unit testing for pipelines voor een volledige uitleg over het schrijven en uitvoeren van unittests.

Pijplijnen lokaal uitvoeren om te testen

U kunt pijplijnen ook lokaal uitvoeren om uw code te ontwikkelen en te testen voordat u deze uitvoert op Azure Databricks. Gebruik de spark-pipelines opdrachtregelinterface om een pijplijn te initialiseren, valideren en uitvoeren met lokale Apache Spark. Zie de programmeerhandleiding voor Spark-declaratieve pijplijnen in de Apache Spark-documentatie.

Een complete pijplijn gebruikt drie complementaire testlagen, waarvan je er twee lokaal kunt uitvoeren:

  • Unittests voor je transformatielogica, uitgevoerd met pytest de hierboven beschreven gewone PySpark-functies. Deze vereisen geen runtime van de pijplijn. Zie Eenheidstests voor pijplijnen.
  • Validatie (dry run) van de pipelinegrafiek, broncode en datasetverwijzingen, met spark-pipelines lokaal of databricks pipelines dry-run voor je werkruimte, zonder gegevens weg te schrijven.
  • Verwachtingen, die de kwaliteitsregels van de data evalueren op elke rij van elke run. Omdat het een runtime-functie van Lakeflow-pijplijnen is, draaien ze alleen op Azure Databricks, niet lokaal. Zie Gegevenskwaliteit beheren met pipelineverwachtingen.

U kunt de functionaliteit die specifiek is voor Lakeflow-pijplijnen niet lokaal uitvoeren of testen. Dit omvat verwachtingen en AUTO CDC functies.

Pijplijnen uitvoeren in Azure Databricks vanuit uw lokale omgeving

Gebruik de databricks pipelines opdrachtgroep om pijplijnupdates in uw werkruimte te valideren, te implementeren en uit te voeren, rechtstreeks vanuit uw terminal:

databricks pipelines init      # scaffold a pipeline project
databricks pipelines dry-run   # validate the pipeline graph without publishing data
databricks pipelines deploy    # deploy the project to your workspace
databricks pipelines run       # run an update

Pijplijnupdates worden uitgevoerd in uw Azure Databricks werkruimte, niet op uw lokale computer, met behulp van de berekening die is geconfigureerd voor de pijplijn. Deze opdrachten zijn interoperabel met declaratieve Automation Bundles-opdrachten bundle , zodat u kunt beginnen met een eenvoudig project en bundelconfiguratie en CI/CD-procedures kunt gebruiken naarmate deze groeit. Als u de CLI wilt installeren en configureren, raadpleegt u De Databricks CLI installeren of bijwerken. Zie de opdrachtgroep voor de volledige opdrachtreferentiepipelines. Zie Pijplijnen ontwikkelen met declaratieve Automation-bundels voor stapsgewijze instructies.

Pijplijncode synchroniseren van uw IDE naar een werkruimte

De volgende tabel bevat een overzicht van opties voor het synchroniseren van de broncode van de pijplijn tussen uw lokale IDE en een Azure Databricks werkruimte:

Hulpmiddel of patroon Bijzonderheden
Databricks CLI (pipelines opdrachtgroep) Gebruik de databricks pipelines opdrachten om een pijplijnproject te implementeren en uit te voeren vanuit uw lokale omgeving. Zie pipelines de opdrachtgroep.
Declaratieve automatiseringsbundels Gebruik declaratieve Automation-bundels om pijplijnassets te implementeren, variërend van complexiteit van één broncodebestand tot configuraties voor meerdere pijplijnen, taken en broncodebestanden. Zie Een pijplijn converteren naar een bundelproject.
Databricks IDE-extensie Azure Databricks biedt een integratie met Visual Studio Code met eenvoudige synchronisatie tussen uw lokale IDE- en werkruimtebestanden. Deze extensie biedt ook hulpprogramma's voor het gebruik van declaratieve Automation-bundels voor het implementeren van pijplijnenassets. Zie Databricks IDE-extensie.
Werkruimtebestanden U kunt Databricks-werkruimtebestanden gebruiken om de broncode van uw pijplijn te uploaden naar uw Databricks-werkruimte en die code vervolgens in een pijplijn te importeren. Zie Wat zijn werkruimtebestanden?
Git-mappen Met Git-mappen kunt u code synchroniseren tussen uw lokale omgeving en Azure Databricks werkruimte met behulp van een Git-opslagplaats als intermediair. Zie Azure Databricks Git-mappen.