Vyvíjejte pipeline kód ve svém místním vývojovém prostředí

Zdrojový kód kanálu Python můžete vytvořit ve svém upřednostňovaném integrovaném vývojovém prostředí (IDE), spustit ho místně pro testování, pak ověřit, nasadit a spouštět aktualizace v pracovním prostoru Azure Databricks bez opuštění místního prostředí.

Kanály Lakeflow jsou nadmnožinou deklarativních kanálů Apache Sparku™. Kód, který používá pouze rozhraní API Apache Spark Declarative Pipelines, běží lokálně i v Azure Databricks, ale kód, který používá funkce jedinečné pro kanály Lakeflow, například AUTO CDC a expectations, běží pouze v Azure Databricks. Rozdíly mezi funkcemi najdete v tématu Referenční příručka k jazyku Python pro kanály Lakeflow.

Pro interaktivní vývoj a testování v pracovním prostoru Azure Databricks použijte Editor kanálů Lakeflow. Viz Vývoj a ladění kanálů ETL pomocí Editoru kanálů Lakeflow.

Pište kód pipeline s podporou v IDE

Napište kód pipeline pomocí modulu pyspark.pipelines, importovaného jako dp:

from pyspark import pipelines as dp

Vzhledem k tomu, že je modul součástí Apache Sparku, poskytuje integrované vývojové prostředí při psaní kontrolu syntaxe, automatické dokončování a kontrolu typů. Kód deklarativních kanálů Apache Sparku se obvykle spouští bez úprav v Azure Databricks. Spuštění stejného příkazu pro import v pipeline Lakeflow naimportuje verzi pipelines pro Azure Databricks. Úplnou referenci jazyka Python pro kanály Lakeflow naleznete v dokumentu Referenční příručka jazyka Python pro kanály Lakeflow.

Samostatná transformační logika pro lokální testování

Nejefektivnější způsob, jak udělat kód pipeline testovatelný lokálně, je držet transformační logiku v obyčejných funkcích PySparku, odděleně od dekorátorů dp . Funkce, která přijímá objekt DataFrame a vrací objekt DataFrame, nemá žádnou závislost na běhovém prostředí pipeline Lakeflow, takže ji můžete jednotkově testovat pomocí pytest na svém místním počítači, stejně jako jakýkoli jiný kód v Apache Sparku. Udržujte dekorované funkce co nejjednodušší, aby pouze importovaly logiku a volaly ji:

# 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"))

Sdílenou logiku můžete zabalit jako kolečko pro její opětovné použití napříč pipeline. Podrobný postup pro psaní a spouštění jednotkových testů najdete v tématu Jednotkové testování kanálů.

Spouštění pipeline lokálně pro testování

Kanály můžete také spouštět místně, abyste mohli vyvíjet a testovat kód, než ho spustíte na Azure Databricks. Použijte rozhraní příkazového řádku spark-pipelines k inicializaci, ověření a spuštění pipeline pomocí místního Apache Sparku. V dokumentaci k Apache Sparku najdete průvodce programováním deklarativních kanálů Sparku .

Kompletní pipeline využívá tři doplňující se vrstvy testování a dvě z nich můžete provádět lokálně:

  • Jednotkové testy pro vaši transformační logiku, spouštěné pomocí pytest nad běžnými funkcemi PySpark popsanými výše. Tyto nevyžadují žádný runtime pipeline. Viz Jednotkové testování kanálů.
  • Validace (test nanečisto) grafu kanálu, zdrojového kódu a odkazů na datovou sadu pomocí spark-pipelines lokálně nebo databricks pipelines dry-run vůči vašemu pracovnímu prostoru — aniž by se zapisovala jakákoli data.
  • Očekávání, která vyhodnocují pravidla kvality dat pro každý řádek při každém spuštění. Protože jsou funkcí Lakeflow pipeline za běhu, běží pouze na Azure Databricks, ne lokálně. Viz Spravujte kvalitu dat pomocí požadavků na datový potrubí.

Funkce specifické pro kanály Lakeflow nejde spustit ani otestovat místně. To zahrnuje požadavky a AUTO CDC funkce.

Spouštění kanálů v Azure Databricks z místního prostředí

Pomocí skupiny příkazů databricks pipelines ověřte, nasaďte a spusťte aktualizace pipeline ve svém pracovním prostoru přímo v terminálu:

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

Aktualizace pipeline probíhají ve vašem pracovním prostoru Azure Databricks, ne na vašem místním počítači, s využitím výpočetních prostředků nakonfigurovaných pro pipeline. Tyto příkazy jsou kompatibilní s příkazy Declarative Automation Bundles bundle, takže můžete začít s jednoduchým projektem a s jeho růstem přejít na konfiguraci balíčků a postupy CI/CD. Informace o instalaci a konfiguraci rozhraní příkazového řádku najdete v tématu Instalace nebo aktualizace rozhraní příkazového řádku Databricks. Úplný odkaz na příkaz naleznete pipelines ve skupině příkazů. Podrobný postup najdete v článku Vytváření kanálů pomocí deklarativních balíčků automatizace.

Synchronizujte kód pipeline z integrovaného vývojového prostředí (IDE) do pracovního prostoru

Následující tabulka shrnuje možnosti synchronizace zdrojového kódu kanálu mezi místním prostředím IDE a pracovním prostorem Azure Databricks:

Nástroj nebo vzor Podrobnosti
Databricks CLI (pipelines skupina příkazů) Pomocí příkazů databricks pipelines nasaďte a spusťte projekt pipeline ve vašem místním prostředí. Viz pipelines skupina příkazů.
Deklarativní balíčky automatizace Balíčky deklarativní automatizace slouží k nasazení prostředků kanálu v rozsahu složitosti od jednoho souboru zdrojového kódu až po konfigurace pro více kanálů, úloh a souborů zdrojového kódu. Viz Převod pipeliny na projekt balíčku.
Rozšíření pro IDE Databricks Azure Databricks poskytuje integraci s Visual Studio Code, která zahrnuje snadnou synchronizaci mezi místním prostředím IDE a soubory pracovního prostoru. Toto rozšíření také poskytuje nástroje pro použití deklarativních automatizačních balíčků k nasazení aktiv kanálů. Viz rozšíření Databricks pro IDE.
Soubory pracovního prostoru Soubory pracovního prostoru Databricks můžete použít k nahrání zdrojového kódu kanálu do pracovního prostoru Databricks a následnému importu kódu do kanálu. Podívejte se na co jsou soubory pracovního prostoru.
Složky Gitu Složky Git umožňují synchronizovat kód mezi místním prostředím a pracovním prostorem Azure Databricks pomocí úložiště Git jako zprostředkujícího. Viz složky Git Azure Databricks.