Aracılığıyla paylaş


Databricks Asset Paketleri ile Lakeflow Spark Deklaratif İşlem Hatları Geliştirme

Yalnızca paket olarak da bilinen Databricks Varlık Paketleri, Lakeflow Spark Bildirimli İşlem Hatları gibi Azure Databricks kaynaklarını program aracılığıyla doğrulamanızı, dağıtmanızı ve çalıştırmanızı sağlar. Bkz. Databricks Varlık Paketleri nedir?.

Bu sayfada, işlem hattını program aracılığıyla yönetmek için nasıl paket oluşturulacağı açıklanır. Bkz . Lakeflow Spark Bildirimli İşlem Hatları. Paket, Python için bir ETL işlem hattı ve çalıştırmak için iş tanımlayan Databricks Varlık Paketleri varsayılan paket şablonu kullanılarak oluşturulur. Ardından Dağıtılan işlem hattını Azure Databricks çalışma alanınızda doğrular, dağıtır ve çalıştırırsınız.

İpucu

Paketlere taşımak istediğiniz Azure Databricks kullanıcı arabirimi veya API kullanılarak oluşturulmuş mevcut işlem hatlarınız varsa, bunları bir paketin yapılandırma dosyalarında tanımlamanız gerekir. Databricks, önce aşağıdaki adımları kullanarak bir paket oluşturmanızı, ardından pakete yapılandırma ve diğer kaynaklar eklemenizi önerir. Bkz . Kullanıcı arabirimini kullanarak mevcut işlem hattı tanımını alma.

Gereksinimler

  • Databricks CLI sürüm 0.276.0 veya üzeri. Yüklü Databricks CLI sürümünüzü denetlemek için komutunu databricks -vçalıştırın. Databricks CLI'yı yüklemek için bkz. Databricks CLI'yı yükleme veya güncelleştirme.
  • uv , testleri çalıştırmak ve bu projenin bağımlılıklarını bir IDE'den yüklemek için gereklidir.
  • Uzak çalışma alanında çalışma alanı dosyaları etkinleştirilmelidir. Bkz. Çalışma alanı dosyaları nedir?.
  • İşlem hattındaki tablolar için mevcut bir katalog. Bkz. Kataloglar oluştur.

(İsteğe bağlı) Yerel işlem hattı geliştirmeyi desteklemek için Python modülü yükleme

Databricks, IDE'nizde kod yazarken söz dizimi denetimi, otomatik tamamlama ve veri türü denetimi sağlayarak Lakeflow Spark Bildirimli İşlem Hatları kodunu yerel olarak geliştirmenize yardımcı olacak bir Python modülü sağlar.

Yerel geliştirme için Python modülü PyPi'de kullanılabilir. Modülü yüklemek için bkz. DLT için Python saplaması.

1. Adım: Kimlik doğrulamayı ayarlama

İlk olarak, geliştirme makinenizdeki Databricks CLI ile Azure Databricks çalışma alanınız arasında kimlik doğrulamasını ayarlayın. Bu sayfada, OAuth kullanıcıdan makineye (U2M) kimlik doğrulamasını ve kimlik doğrulaması için adlı DEFAULT ilgili Azure Databricks yapılandırma profilini kullanmak istediğiniz varsayılır.

Not

U2M kimlik doğrulaması, bu adımları gerçek zamanlı olarak denemek için uygundur. Tam otomatik iş akışları için Databricks bunun yerine OAuth makineden makineye (M2M) kimlik doğrulamasını kullanmanızı önerir. OAuth ile Azure Databricks'e hizmet sorumlusu erişimi yetkilendirme başlığındaki M2M kimlik doğrulaması kurulum yönergelerine bakın.

  1. Her hedef çalışma alanı için aşağıdaki komutu çalıştırarak yerel olarak OAuth belirteci yönetimini başlatmak için Databricks CLI'sini kullanın.

    Aşağıdaki komutta <workspace-url> değerini Azure Databricks çalışma alanı başına URL'nizle değiştirin, örneğin https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI, Azure Databricks yapılandırma profili olarak girdiğiniz bilgileri kaydetmenizi ister. Önerilen profil adını kabul etmek için basın Enter veya yeni veya mevcut bir profilin adını girin. Girdiğiniz bilgilerle aynı ada sahip herhangi bir mevcut profilin bilgileri üzerine yazılır. Birden çok çalışma alanında kimlik doğrulama bağlamınızı hızla değiştirmek için profilleri kullanabilirsiniz.

    Mevcut profillerin listesini almak için, ayrı bir terminalde veya komut isteminde Databricks CLI'yı kullanarak komutunu databricks auth profilesçalıştırın. Belirli bir profilin mevcut ayarlarını görüntülemek için komutunu databricks auth env --profile <profile-name>çalıştırın.

  3. Web tarayıcınızda, Azure Databricks çalışma alanınızda oturum açmak için ekrandaki yönergeleri tamamlayın.

  4. Profilin geçerli OAuth belirteci değerini ve belirtecin yaklaşan süre sonu zaman damgasını görüntülemek için aşağıdaki komutlardan birini çalıştırın:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Aynı --host değere sahip birden çok profiliniz varsa Databricks CLI'sının --host doğru eşleşen OAuth belirteci bilgilerini bulmasına yardımcı olmak için ve -p seçeneklerini birlikte belirtmeniz gerekebilir.

2. Adım: Paketi oluşturma

Varsayılan Python paket projesi şablonunu kullanarak bir paket başlatın.

  1. Yerel geliştirme makinenizde şablonun oluşturulan paketini içerecek bir dizine geçmek için terminalinizi veya komut isteminizi kullanın.

  2. Komutu çalıştırmak için Databricks CLI'yi bundle init kullanın:

    databricks bundle init
    
  3. Template to use için, default-python varsayılan değerini Enter tuşuna basarak bırakın.

  4. için Unique name for this projectvarsayılan değerini my_projectbırakın veya farklı bir değer yazın ve tuşuna basın Enter. Bu, bu paket için kök dizinin adını belirler. Bu kök dizin, geçerli çalışma dizininiz içinde oluşturulur.

  5. Include a job that runs a notebookiçin no seçin ve Entertuşuna basın. (Bu seçenekle ilişkili örnek not defterinin içinde işlem hattı kodu yoktur.)

  6. Include an ETL pipeline için, yes varsayılan değerini Enter tuşuna basarak bırakın. Örnek işlem hattı kodu ve işlem hattı tanımı ekler.

  7. Include a stub (sample) Python packageiçin no seçin ve Entertuşuna basın.

  8. Use serverlessiçin yes seçin ve Entertuşuna basın. Bu, Databricks CLI'ya paketinizi sunucusuz işlemde çalışacak şekilde yapılandırmasını sağlar.

  9. Default catalog for any tables created by this project [hive_metastore] için var olan bir Unity Katalog kataloğunun adını girin.

  10. Use a personal schema for each user working on this project. için yes öğesini seçin.

3. Adım: Paketi keşfetme

Şablonun oluşturduğu dosyaları görüntülemek için yeni oluşturduğunuz paketin kök dizinine geçin. Belirli bir ilgi alanı olan dosyalar şunlardır:

  • databricks.yml: Bu dosya paketin programlı adını belirtir, paketin dosyalarına başvurular içerir, katalog ve şema değişkenlerini tanımlar ve hedef çalışma alanlarının ayarlarını belirtir.
  • resources/sample_job.yml ve resources/<project-name>_etl_pipeline.yml: Bu dosyalar, işlem hattı yenileme görevini içeren işi ve işlem hattının ayarlarını tanımlar. İşlem hattı ayarları hakkında bilgi için bkz. işlem hattı.
  • src/: Bu klasör örnek işlem hattının kaynak dosyalarını, keşiflerini ve dönüşümlerini içerir.
  • tests/ ve fixtures/: Bu klasörler, işlem hattı için örnek birim testleri ve veri kümeleri için fikstürler içerir.
  • README.md: Bu dosya, bu paket şablonunu kullanmaya başlama ve kullanma hakkında ek bilgiler içerir.

4. Adım: Paket yapılandırmasını doğrulama

Şimdi paket yapılandırmasının geçerli olup olmadığını denetleyin.

  1. Kök dizinden Databricks CLI'sini bundle validate kullanarak şu komutu çalıştırın:

    databricks bundle validate
    
  2. Paket yapılandırmasının özeti döndürülürse doğrulama başarılı olur. Herhangi bir hata döndürülürse, hataları düzeltin ve bu adımı yineleyin.

5. Adım: Paketi uzak çalışma alanına dağıtma

Ardından paketi uzak Azure Databricks çalışma alanınıza dağıtın ve işlem hattını çalışma alanınızda doğrulayın.

  1. Şu komutu çalıştırmak için paket kökünden Databricks CLI'sini bundle deploy kullanın:

    databricks bundle deploy --target dev
    

    Not

    Varsayılan şablon, işlem hattını her gün çalıştıran bir iş içerir, ancak bu hedef dev dağıtım modu için duraklatılır. Bkz. Databricks Varlık Paketi dağıtım modları.

  2. Paketin dağıtıldığını onaylayın:

    1. Azure Databricks çalışma alanınızın kenar çubuğunda Çalışma Alanı'ya tıklayın.
    2. Kullanıcılar ><your-username>>.bundle klasörüne tıklayın ve paket projenizi bulun.
  3. İşlem hattınızın oluşturulup oluşturulmadığını denetleyin:

    1. Azure Databricks çalışma alanınızın kenar çubuğunda İşler ve İşlem Hatları'na tıklayın.
    2. İsteğe bağlı olarak İşlem Hatları ve Bana ait filtrelerini seçin.
    3. [dev<your-username>] <project-name>_etl tıklayın.

Bu adımdan sonra paketinizde herhangi bir değişiklik yaparsanız, paket yapılandırmanızın hala geçerli olup olmadığını denetlemek için 4-5 arası adımları yineleyip projeyi yeniden dağıtmanız gerekir.

6. Adım: Dağıtılan işlem hattını çalıştır

Şimdi komut satırından çalışma alanınızdaki işlem hattı çalışmasını başlatın.

  1. Kök dizinden Databricks CLI'yi kullanarak komutunu çalıştırın bundle run ve yerine <project-name> projenizin adını yazın:

    databricks bundle run --target dev <project-name>_etl
    
  2. Terminalinizde görünen değerini Update URL kopyalayın ve bu değeri web tarayıcınıza yapıştırarak Azure Databricks çalışma alanınızı açın.

  3. Azure Databricks çalışma alanında, pipeline çalışması başarıyla tamamlandıktan sonra, her görünümün ayrıntılarını incelemek için materyalize edilmiş görünümlere tıklayın.

Bu adımdan sonra paketinizde herhangi bir değişiklik yaparsanız, paket yapılandırmanızın hala geçerli olup olmadığını denetlemek, projeyi yeniden dağıtmak ve yeniden dağıtılan projeyi çalıştırmak için 4-6 arası adımları yinelemelisiniz.

7. Adım: Testleri çalıştırma

Son olarak, testleri yerel olarak çalıştırmak için kullanın pytest :

uv run pytest

8. Adım: Temizleme

Bu adımda, dağıtılan paketi ve işlem hattını çalışma alanınızdan silersiniz.

  1. Kök dizinden Databricks CLI'sini bundle destroy kullanarak şu komutu çalıştırın:

    databricks bundle destroy --target dev
    
  2. Kaynakları, işlem hattını ve işlem hattı tarafından yönetilen tabloları ve görünümleri kalıcı olarak yok etmek isteyip istemediğiniz sorulduğunda yazın y ve tuşuna basın Enter.

  3. Paketi geliştirme makinenizden de silmek istiyorsanız, artık yerel proje dizinini silebilirsiniz.