Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan skapa Python pipeline-källkod i önskad integrerad utvecklingsmiljö (IDE), köra den lokalt för testning, verifiera, distribuera och köra uppdateringar på din Azure Databricks arbetsyta utan att lämna din lokala miljö.
Lakeflow-pipelines är en utökning av Apache Spark™ Declarative Pipelines. Kod som endast använder Apache Spark Deklarativa pipelines-API:er körs både lokalt och på Azure Databricks, men kod som använder funktioner som är unika för Lakeflow-pipelines, till exempel AUTO CDC och förväntningar, körs endast på Azure Databricks. Information om funktionsskillnader finns i Lakeflow-pipelines Python språkreferens.
För interaktiv utveckling och testning på Azure Databricks arbetsyta använder du Lakeflow Pipelines Editor. Se Utveckla och felsöka ETL-pipelines med Lakeflow Pipelines Editor.
Skriva pipelinekod med IDE-stöd
Skriv pipelinekod med hjälp av modulen pyspark.pipelines , importerad som dp:
from pyspark import pipelines as dp
Eftersom modulen är en del av Apache Spark tillhandahåller din IDE syntaxkontroll, automatisk komplettering och typkontroll när du skriver. Kod för Apache Spark Declarative Pipelines körs vanligtvis utan modifieringar på Azure Databricks. Om du kör samma importkommando i en Lakeflow-pipeline importeras den Azure Databricks versionen av pipelines. Fullständiga Lakeflow-pipelines Python referens finns i Lakeflow-pipelines Python språkreferens.
Separat transformationslogik för lokal testning
Det mest effektiva sättet att göra pipeline-kod testbar lokalt är att hålla din transformationslogik i vanliga PySpark-funktioner, separerade från dekoratörerna dp . En funktion som tar en DataFrame och returnerar en DataFrame är inte beroende av Lakeflow Pipelines-körningsmiljön, så du kan enhetstesta den med pytest på den lokala datorn, precis som all annan Apache Spark-kod. Håll de dekorerade funktionerna tunna, så de importerar logiken och kallar den:
# 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"))
Du kan paketera den delade logiken som ett hjul för att återanvända den över pipelines. För en fullständig genomgång av att skriva och köra enhetstester, se Enhetstestning för pipelines.
Kör pipelines lokalt för att testa
Du kan också köra pipelines lokalt för att utveckla och testa koden innan du kör den på Azure Databricks. Använd kommandoradsgränssnittet spark-pipelines för att initiera, verifiera och köra en pipeline med lokala Apache Spark. Se programmeringsguiden för Spark Declarative Pipelines i Apache Sparks dokumentation.
En komplett pipeline använder tre kompletterande testlager, och du kan utföra två av dem lokalt:
-
Enhetstester för din transformationslogik, kör mot
pytestde vanliga PySpark-funktionerna som beskrivs ovan. Dessa kräver ingen pipeline-runtime. Se Enhetstestning för pipelines. -
Validering (provkörning) av pipeline-grafen, källkoden och datauppsättningsreferenserna, med
spark-pipelineslokalt ellerdatabricks pipelines dry-runmot din arbetsyta – utan att skriva några data. - Förväntningar, som utvärderar datakvalitetsregler för varje rad i varje körning. Eftersom de är en runtime-funktion för Lakeflow-pipelines körs de endast på Azure Databricks, inte lokalt. Se avsnittet Hantera datakvalitet med pipeline-förväntningar.
Du kan inte köra eller testa funktioner som är specifika för Lakeflow-pipelines lokalt. Detta inkluderar förväntningar och AUTO CDC funktioner.
Kör pipelines i Azure Databricks från din lokala miljö
databricks pipelines Använd kommandogruppen för att verifiera, distribuera och köra pipelineuppdateringar på din arbetsyta direkt från terminalen:
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
Pipelineuppdateringar körs på din Azure Databricks arbetsyta, inte på den lokala datorn, med hjälp av den beräkning som konfigurerats för pipelinen. Dessa kommandon är kompatibla med deklarativa Automation-paketkommandon bundle , så du kan börja med ett enkelt projekt och implementera paketkonfiguration och CI/CD-metoder när det växer. Information om hur du installerar och konfigurerar CLI finns i Installera eller uppdatera Databricks CLI. Den fullständiga kommandoreferensen finns i pipelines kommandogrupp. En steg-för-steg-guide finns i Utveckla pipelines med deklarativa automatiseringspaket.
Synkronisera pipelinekod från din IDE till en arbetsyta
I följande tabell sammanfattas alternativ för synkronisering av pipelinekällkod mellan din lokala IDE och en Azure Databricks arbetsyta:
| Verktyg eller mönster | Detaljer |
|---|---|
Databricks CLI (pipelines kommandogrupp) |
Använd kommandona databricks pipelines för att distribuera och köra ett pipelineprojekt från din lokala miljö. Se pipelines kommandogrupp. |
| Deklarativa automationspaket | Använd deklarativa automationspaket för att distribuera pipelinetillgångar med en komplexitet som sträcker sig från en enda källkodsfil till konfigurationer för flera pipelines, jobb och källkodsfiler. Se Konvertera en pipeline till ett paketprojekt. |
| Databricks IDE-tillägg | Azure Databricks ger en integrering med Visual Studio Code som innehåller enkel synkronisering mellan dina lokala IDE- och arbetsytefiler. Det här tillägget innehåller också verktyg för att använda deklarativa automationspaket för att distribuera pipeline-tillgångar. Se Databricks IDE-tillägg. |
| Filer för arbetsyta | Du kan använda Databricks-arbetsytefiler för att ladda upp din pipeline-källkod till din Databricks-arbetsyta och sedan importera koden till en pipeline. Se Vad är arbetsytefiler?. |
| Git-kataloger | Med Git-mappar kan du synkronisera kod mellan din lokala miljö och Azure Databricks arbetsyta med hjälp av en Git-lagringsplats som mellanhand. Se Azure Databricks Git-mappar. |