Yerel geliştirme ortamınızda işlem hattı kodu geliştirme

tercih ettiğiniz tümleşik geliştirme ortamınızda (IDE) Python işlem hattı kaynak kodu yazabilir, test için yerel olarak çalıştırabilir, ardından yerel ortamınızdan çıkmadan Azure Databricks çalışma alanınızda güncelleştirmeleri doğrulayabilir, dağıtabilir ve çalıştırabilirsiniz.

Lakeflow işlem hatları Apache Spark™ Bildirimli İşlem Hatlarının üst kümesidir. Yalnızca Apache Spark Bildirimli İşlem Hatları API'lerini kullanan kod hem yerel olarak hem de Azure Databricks üzerinde çalışır, ancak ve beklentileri gibi AUTO CDC Lakeflow işlem hatlarına özgü özellikleri kullanan kod yalnızca Azure Databricks üzerinde çalışır. Özellikler arasındaki farklar için Lakeflow işlem hatları Python dil başvurusu bölümüne bakın.

Azure Databricks çalışma alanında etkileşimli geliştirme ve test için Lakeflow Pipelines Düzenleyicisi'ni kullanın. Bkz. Lakeflow Pipelines Düzenleyicisi ile ETL işlem hatlarını geliştirme ve hatalarını ayıklama.

IDE desteği ile işlem hattı kodu yazma

pyspark.pipelines olarak içe aktarılan dp modülünü kullanarak işlem hattı kodu yazın:

from pyspark import pipelines as dp

Modül Apache Spark'ın bir parçası olduğundan, siz yazarken IDE'niz söz dizimi denetimi, otomatik tamamlama ve tür denetimi sağlar. Apache Spark Bildirimli İşlem Hatları kodu genellikle Azure Databricks üzerinde değişiklik yapmadan çalışır. Aynı içeri aktarma komutunu bir Lakeflow işlem hattında çalıştırmak, Azure Databricks sürümünü pipelinesiçeri aktarır. Tam Lakeflow işlem hatları Python başvurusu için bkz. Lakeflow işlem hatları Python dil başvurusu.

Yerel test için ayrı dönüşüm mantığı

Pipeline kodunu yerel olarak test edilebilir hale getirmenin en etkili yolu, dönüşüm mantığınızı dekoratörlerden ayrı olarak basit PySpark fonksiyonlarında dp tutmaktır. DataFrame alan ve DataFrame döndüren bir işlev, Lakeflow pipelines runtime’ına bağımlı değildir; bu nedenle, diğer Apache Spark kodlarında olduğu gibi, yerel makinenizde pytest ile birim testi yapabilirsiniz. Dekorasyonlu fonksiyonları ince tutun, böylece mantığı içe aktarıp şöyle adlandırırlar:

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

Paylaşılan mantığı bir tekerlek olarak paketleyerek boru hatları arasında yeniden kullanılabilir. Ünite testlerinin yazılması ve çalıştırılması ile ilgili tam bir rehber için Pipelines için Birim testi bölümüne bakınız.

İşlem hatlarını test için yerel olarak çalıştırma

ayrıca kodunuzu Azure Databricks çalıştırmadan önce geliştirmek ve test etmek için işlem hatlarını yerel olarak çalıştırabilirsiniz. spark-pipelines Yerel Apache Spark ile işlem hattını başlatmak, doğrulamak ve çalıştırmak için komut satırı arabirimini kullanın. Apache Spark belgelerindeki Spark Bildirim temelli İşlem Hatları Programlama Kılavuzu'na bakın.

Tam bir boru hattı, üç tamamlayıcı test katmanı kullanır ve bunlardan ikisini yerel olarak uygulayabilirsiniz:

  • Dönüşüm mantığınız için birim testleri, yukarıda açıklanan yalın PySpark işlevlerine karşı pytest ile çalıştırın. Bunlar boru hattı çalışma süresi gerektirmez. Bkz. İşlem hatları için birim testi.
  • spark-pipelines: işlem hattı grafiğinin, kaynak kodunun ve veri kümesi başvurularının, herhangi bir veri yazmadan, databricks pipelines dry-run ile yerelde veya ile çalışma alanınıza karşı doğrulanması.
  • Beklentiler, her koşudaki her satırda veri kalitesi kurallarını değerlendirir. Lakeflow işlem hatlarının çalışma zamanı özellikleri olduklarından, yalnızca Azure Databricks'te çalışırlar; yerelde çalışmazlar. Bkz. İşlem hattı beklentileriyle veri kalitesini yönetme.

Lakeflow işlem hatlarına özgü işlevleri yerel olarak çalıştıramaz veya test edemezsiniz. Bu, beklentileri ve AUTO CDC işlevleri içerir.

yerel ortamınızdan Azure Databricks işlem hatlarını çalıştırma

databricks pipelines Doğrudan terminalden çalışma alanınızda işlem hattı güncelleştirmelerini doğrulamak, dağıtmak ve çalıştırmak için komut grubunu kullanın:

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

İşlem hattı güncelleştirmeleri, işlem hattı için yapılandırılan işlem kullanılarak yerel makinenizde değil, Azure Databricks çalışma alanınızda çalıştırılır. Bu komutlar Bildirim temelli Otomasyon Paketleri bundle komutları ile birlikte çalışabilir, bu nedenle basit bir projeyle başlayıp paket yapılandırması ile CI/CD uygulamalarını büyüdükçe benimseyebilirsiniz. CLI'yı yüklemek ve yapılandırmak için bkz. Databricks CLI'yı yükleme veya güncelleştirme. Tam komut başvurusu için bkz pipelines . komut grubu. Adım adım izlenecek yol için bkz. Bildirim temelli Otomasyon Paketleri ile işlem hatları geliştirme.

IDE'nizden çalışma alanına işlem hattı kodunu senkronize etme

Aşağıdaki tabloda, yerel IDE'niz ile Azure Databricks çalışma alanı arasında işlem hattı kaynak kodunu eşitleme seçenekleri özetlenmiştir:

Araç veya desen Ayrıntılar
Databricks CLI (pipelines komut grubu) Yerel ortamınızdan bir işlem hattı projesi dağıtmak ve çalıştırmak için databricks pipelines komutlarını kullanın. Bakınız pipelines komut grubu.
Bildirim temelli Otomasyon Paketleri Tek bir kaynak kod dosyasından birden çok işlem hattı, iş ve kaynak kod dosyasının yapılandırmalarına karmaşıklık açısından değişen işlem hattı varlıklarını dağıtmak için Bildirim temelli Otomasyon Paketleri'ni kullanın. Bkz . İşlem hattını paket projesine dönüştürme.
Databricks IDE uzantısı Azure Databricks, yerel IDE ve çalışma alanı dosyalarınız arasında kolay eşitleme içeren Visual Studio Code tümleştirmesi sağlar. Bu uzantı, işlem hattı varlıklarını dağıtmak için Bildirim temelli Otomasyon Paketleri'ni kullanmaya yönelik araçlar da sağlar. Databricks IDE uzantısı sayfasına bakınız.
Çalışma alanı dosyaları databricks çalışma alanı dosyalarını kullanarak işlem hattı kaynak kodunuzu Databricks çalışma alanınıza yükleyebilir ve ardından bu kodu bir işlem hattına aktarabilirsiniz. Bkz. Çalışma alanı dosyaları nedir?.
Git klasörleri Git klasörleri, aracı olarak bir Git deposu kullanarak yerel ortamınızla Azure Databricks çalışma alanı arasında kod eşitlemenize olanak tanır. Bkz. Azure Databricks Git klasörleri.