Aracılığıyla paylaş


Databricks Varlık Paketlerini kullanarak Python tekerlek dosyası geliştirme

Bu makalede, Databricks Varlık Paketi projesinin bir parçası olarak Python tekerlek dosyasının nasıl derlenip dağıtılacağı ve çalıştırılacağı açıklanmaktadır. Bkz . Databricks Varlık Paketleri nedir?

Gereksinimler

  • Databricks CLI sürüm 0.205 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.
  • Uzak çalışma alanında çalışma alanı dosyaları etkinleştirilmelidir. Bkz . Çalışma alanı dosyaları nedir?.

Karar: Paketi el ile veya şablon kullanarak oluşturma

Şablon kullanarak başlangıç paketi mi oluşturmak istediğinize yoksa paketi el ile mi oluşturmak istediğinize karar verin. Paketi şablon kullanarak oluşturmak daha hızlı ve daha kolaydır, ancak paket gerekli olmayan içerik üretebilir ve paketin varsayılan ayarlarının gerçek uygulamalar için daha fazla özelleştirilmesi gerekir. Paketi el ile oluşturmak, paketin ayarları üzerinde tam denetim sahibi olmanıza neden olur, ancak tüm işi en baştan yaptığınız için paketlerin nasıl çalıştığını biliyor olmalısınız. Aşağıdaki adım kümelerinden birini seçin:

Şablon kullanarak paket oluşturma

Bu adımlarda, Python için Azure Databricks varsayılan paket şablonunu kullanarak paketi oluşturursunuz. Bu adımlar, Python tekerlek dosyası oluşturacak dosyalardan ve bu Python tekerlek dosyasını oluşturmak için Azure Databricks işinin tanımından oluşan bir paket oluşturmanıza yol gösterir. Ardından Azure Databricks çalışma alanınızdaki Python tekerlek işinden dağıtılan dosyaları doğrular, dağıtır ve bir Python tekerlek dosyasına oluşturursunuz.

Python için Azure Databricks varsayılan paket şablonu, Python tekerlek dosyasını oluşturmak için kurulum araçlarını kullanır. Bunun yerine Python tekerlek dosyasını oluşturmak için Şiir kullanmak istiyorsanız, bu bölümün devamında yer alan yönergeleri izleyerek uygulamayı bir Şiir uygulamasıyla değiştirinsetuptools.

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

Bu adımda, geliştirme makinenizdeki Databricks CLI ile Azure Databricks çalışma alanınız arasında kimlik doğrulamasını ayarlarsınız. Bu makalede, 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. Kimlik doğrulaması'nda 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 değerini çalışma alanı başına Azure Databricks URL'nizle değiştirin<workspace-url>, örneğinhttps://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 mevcut tüm profillerin ü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'yi 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

Paket, dağıtmak istediğiniz yapıtları ve çalıştırmak istediğiniz iş akışları için ayarları içerir.

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

  2. Komutunu çalıştırmak bundle init için Dataricks CLI sürümünü kullanın:

    databricks bundle init
    
  3. içinTemplate to use, tuşuna basarak Entervarsayılan değerini default-python 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. için Include a stub (sample) notebooköğesini seçin no ve tuşuna basın Enter. Bu, Databricks CLI'ya paketinize örnek not defteri eklememesi talimatını vermektedir.

  6. için Include a stub (sample) DLT pipelineöğesini seçin no ve tuşuna basın Enter. Bu, Databricks CLI'ya paketinizde örnek bir Delta Live Tables işlem hattı tanımlamamasını sağlar.

  7. içinInclude a stub (sample) Python package, tuşuna basarak Entervarsayılan değerini yes bırakın. Bu, Databricks CLI'ya paketinize örnek Python tekerlek paketi dosyaları ve ilgili derleme yönergeleri eklemesini sağlar.

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 ve bu dizini tercih ettiğiniz IDE ile (örneğin Visual Studio Code) açın. Belirli bir ilgi alanı olan dosyalar şunlardır:

  • databricks.yml: Bu dosya paketin program adını belirtir, Python tekerleği iş tanımına bir başvuru içerir ve hedef çalışma alanıyla ilgili ayarları belirtir.
  • resources/<project-name>_job.yml: Bu dosya Python tekerlek işinin ayarlarını belirtir.
  • src/<project-name>: Bu dizin, Python tekerlek işinin Python tekerlek dosyasını oluşturmak için kullandığı dosyaları içerir.

Not

Python tekerlek dosyasını Databricks Runtime 12.2 LTS veya altı yüklü bir hedef kümeye yüklemek istiyorsanız, dosyaya aşağıdaki üst düzey eşlemeyi databricks.yml eklemeniz gerekir:

# Applies to all tasks of type python_wheel_task.
experimental:
  python_wheel_wrapper: true

Bu eşleme, Databricks CLI'ya aşağıdakileri gerçekleştirmesini ister:

  • Arka planda Python tekerlek dosyasının bir kopyasını dağıtın. Bu dağıtım yolu genellikle ${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whlşeklindedir.
  • Hedef kümeye önceki dağıtılan Python tekerlek dosyasını yüklemeye yönelik yönergeleri içeren arka planda bir not defteri oluşturun. Bu not defterinin yolu genellikle ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>şeklindedir.
  • Python tekerlek görevi içeren bir iş çalıştırdığınızda ve bu görevler önceki Python tekerlek dosyasına başvurduğunda, önceki not defterini çalıştıran arka planda bir iş oluşturulur.

Azure Databricks çalışma alanı dosya sisteminden Python tekerleği yüklemeleri bu hedef kümelere otomatik olarak yükleneceğinden Databricks Runtime 13.1 veya üzeri yüklü hedef kümeler için bu eşlemeyi belirtmeniz gerekmez.

4. Adım: Projenin paketini Şiir'i kullanacak şekilde güncelleştirme

Varsayılan olarak paket şablonu, ve requirements-dev.txtdosyalarıyla setup.py birlikte kullanarak setuptools Python tekerlek dosyasının oluşturulmasını belirtir. Bu varsayılan değerleri korumak istiyorsanız 5. Adım: Projenin paket yapılandırma dosyasını doğrulama bölümüne atlayın.

Projenin paketini yerine Şiirsetuptoolskullanacak şekilde güncelleştirmek için yerel geliştirme makinenizin aşağıdaki gereksinimleri karşıladığından emin olun:

  • Şiir versiyonu 1.6 veya üzeri. Yüklü Şiir sürümünüzü denetlemek için veya poetry --versionkomutunu poetry -V çalıştırın. Şiir'i yüklemek veya yükseltmek için bkz . Yükleme.
  • Python sürüm 3.10 veya üzeri. Python sürümünüzü denetlemek için veya python --versionkomutunu python -V çalıştırın.
  • Databricks CLI sürüm 0.209.0 veya üzeri. Databricks CLI sürümünüzde veya databricks --versionkomutunu databricks -v çalıştırın. Bkz. Databricks CLI'yı yükleme veya güncelleştirme.

Projenin paketinde aşağıdaki değişiklikleri yapın:

  1. Aşağıdaki komutu çalıştırarak, paketin kök dizininden poetry Şiir için Python tekerleği derlemelerini başlatma talimatını alın:

    poetry init
    
  2. Şiir, tamamlamanız için birkaç istem gösterir. Python tekerleği derlemeleri için, projenin paketindeki ilgili varsayılan ayarlarla eşleşecek şekilde aşağıdaki istemleri yanıtlayın:

    1. için Package name, altına /srcalt klasörün adını yazın ve ardından tuşuna basın Enter. Bu, paketin name paketin dosyasında tanımlanan setup.py değeri de olmalıdır.
    2. için Versionyazın 0.0.1 ve tuşuna basın Enter. Bu, paketin src/<project-name>/__init__.py dosyasında tanımlanan sürüm numarasıyla eşleşir.
    3. için Descriptionyazın wheel file based on <project-name>/src (değerini projenin adıyla değiştirerek <project-name> ) ve tuşuna basın Enter. Bu, şablonun descriptionsetup.py dosyasında tanımlanan değerle eşleşir.
    4. için Authortuşuna basın Enter. Bu varsayılan değer, şablonun setup.py dosyasında tanımlanan yazarla eşleşir.
    5. için Licensetuşuna basın Enter. Şablonda tanımlı lisans yok.
    6. için Compatible Python versionshedef Azure Databricks kümelerinizdekiyle eşleşen Python sürümünü girin (örneğin, ^3.10) ve tuşuna basın Enter.
    7. Tür no için Would you like to define your main dependencies interactively? ve tuşuna basınEnter. Bağımlılıklarınızı daha sonra tanımlayacaksınız.
    8. Tür no için Would you like to define your development dependencies interactively? ve tuşuna basınEnter. Bağımlılıklarınızı daha sonra tanımlayacaksınız.
    9. için Do you confirm generation? tuşuna basın Enter.
  3. İstemleri tamamladıktan sonra, Şiir paketin projesine bir pyproject.toml dosya ekler. Dosya hakkında pyproject.toml bilgi için bkz . pyproject.toml dosyası.

  4. Paketin kök dizininden dosyayı okumapyproject.toml, bağımlılıkları çözme ve yükleme, bağımlılıkları kilitlemek için bir poetry.lock dosya oluşturma ve son olarak bir sanal ortam oluşturma yönergelerini poetry ekleyin. Bunu yapmak için aşağıdaki komutu çalıştırın:

    poetry install
    
  5. dosyasının sonuna pyproject.toml aşağıdaki bölümü ekleyin ve yerine <project-name> dosyayı içeren src/<project-name>/main.py dizinin adını (örneğin: my_project) ekleyin:

    [tool.poetry.scripts]
    main = "<project-name>.main:main"
    

    bölümünde Python tekerleği işi için Python tekerleğinin giriş noktası belirtildi.

  6. Paket databricks.yml dosyasının en üst düzeyine aşağıdaki eşlemeyi ekleyin:

    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    

    Bu eşleme, Databricks CLI'ye Python tekerlek dosyası oluşturmak için Şiir'i kullanma talimatını vermektedir.

  7. Şiir'in setup.py bunlara ihtiyacı olmadığından ve requirements-dev.txt dosyalarını paketten silin.

5. Adım: Projenin paket yapılandırma dosyasını doğrulama

Bu adımda paket yapılandırmasının geçerli olup olmadığını denetlersiniz.

  1. Kök dizinden Databricks CLI'sini bundle validate kullanarak komutu aşağıdaki gibi ç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.

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 bu adımı yinelemelisiniz.

6. Adım: Python tekerlek dosyasını oluşturma ve yerel projeyi uzak çalışma alanına dağıtma

Bu adımda Python tekerlek dosyasını derleyip yerleşik Python tekerlek dosyasını uzak Azure Databricks çalışma alanınıza dağıtacak ve çalışma alanınızda Azure Databricks işini oluşturacaksınız.

  1. kullanıyorsanızsetuptools, aşağıdaki komutu çalıştırarak ve setuptools paketlerini yükleyinwheel.

    pip3 install --upgrade wheel setuptools
    
  2. Visual Studio Code terminalinde Databricks CLI'yi kullanarak komutu aşağıdaki gibi çalıştırın bundle deploy :

    databricks bundle deploy -t dev
    
  3. Yerel olarak derlenmiş Python tekerlek dosyasının dağıtılıp dağıtılmadığını denetlemek istiyorsanız:

    1. Azure Databricks çalışma alanınızın kenar çubuğunda Çalışma Alanı'ya tıklayın.
    2. Şu klasöre tıklayın: Çalışma Alanı > Kullanıcıları >><your-username>.bundle ><project-name>> dev > artifacts > .internal .><random-guid>

    Python tekerlek dosyası bu klasörde olmalıdır.

  4. İşin oluşturulup oluşturulmadığını denetlemek istiyorsanız:

    1. Azure Databricks çalışma alanınızın kenar çubuğunda İş Akışları'ne tıklayın.
    2. İşler sekmesinde [dev <your-username>] <project-name>_job öğesine tıklayın.
    3. Görevler sekmesine tıklayın.

    Bir görev olmalıdır: main_task.

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 5-6 arası adımları yineleyip projeyi yeniden dağıtmanız gerekir.

7. Adım: Dağıtılan projeyi çalıştırma

Bu adımda, çalışma alanınızda Azure Databricks işini çalıştırırsınız.

  1. Kök dizinden databricks CLI'sini bundle run kullanarak komutunu aşağıdaki gibi çalıştırın ve değerini 2. Adımdaki projenizin adıyla değiştirin <project-name> :

    databricks bundle run -t dev <project-name>_job
    
  2. Terminalinizde görünen değerini Run 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ınızda, görev başarıyla tamamlanıp yeşil bir başlık çubuğu gösterildikten sonra, sonuçları görmek için main_task görevine 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 5-7 arası adımları yinelemelisiniz.

Şablon kullanarak paket oluşturma adımlarının sonuna ulaştınız.

Paketi el ile oluşturma

Bu adımlarda paketi baştan el ile oluşturursunuz. Bu adımlar, Python tekerlek dosyası oluşturacak dosyalardan ve bu Python tekerlek dosyasını oluşturmak için Databricks işinin tanımından oluşan bir paket oluşturmanıza yol gösterir. Ardından Dağıtılan dosyaları Databricks çalışma alanınızdaki Python tekerlek işinden bir Python tekerlek dosyasına doğrulayabilir, dağıtabilir ve derleyebilirsiniz.

Bu adımlar YAML dosyasına içerik eklemeyi içerir. İsteğe bağlı olarak, YAML dosyalarıyla çalışırken otomatik şema önerileri ve eylemleri sağlayan tümleşik bir geliştirme ortamı (IDE) kullanmak isteyebilirsiniz. Aşağıdaki adımlarda Visual Studio Code, Visual Studio Code Market'ten yüklenen YAML uzantısıyla birlikte kullanılır.

Bu adımlarda, şunları zaten bildiğiniz varsayılır:

Şiir veya setuptoolsile bir Python tekerlek dosyası oluşturan, Python tekerlek dosyasını dağıtan ve ardından dağıtılan Python tekerlek dosyasını çalıştıran örnek bir paket oluşturmak için bu yönergeleri izleyin.

Zaten bir Python tekerlek dosyası oluşturduysanız ve yalnızca dağıtmak ve çalıştırmak istiyorsanız, 3. Adım: Paketin yapılandırma dosyasını oluşturma bölümünde paket yapılandırma dosyasında Python tekerleği ayarlarını belirtmeye atlayın.

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

Bu adımda, geliştirme makinenizdeki Databricks CLI ile Azure Databricks çalışma alanınız arasında kimlik doğrulamasını ayarlarsınız. Bu makalede, 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. Kimlik doğrulaması'nda 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 değerini çalışma alanı başına Azure Databricks URL'nizle değiştirin<workspace-url>, örneğinhttps://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 mevcut tüm profillerin ü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'yi 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

Paket, dağıtmak istediğiniz yapıtları ve çalıştırmak istediğiniz iş akışları için ayarları içerir.

  1. Paketinizin kökünde, Şiir kullanıp kullanmadığınıza veya setuptools Python tekerlek dosyaları oluşturmak için aşağıdaki klasörleri ve dosyaları oluşturun:

    Şiir

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── pyproject.toml
    

    Kurulum araçları

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── setup.py
    
  2. __init__.py Dosyayı boş bırakın.

  3. Dosyaya main.py aşağıdaki kodu ekleyin ve dosyayı kaydedin:

    from my_package.my_module import *
    
    def main():
    
      first = 200
      second = 400
    
      print(f"{first} + {second} = {add_two_numbers(first, second)}")
      print(f"{second} - {first} = {subtract_two_numbers(second, first)}")
      print(f"{first} * {second} = {multiply_two_numbers(first, second)}")
      print(f"{second} / {first} = {divide_two_numbers(second, first)}")
    
    if __name__ == "__main__":
      main()
    
  4. Dosyaya my_module.py aşağıdaki kodu ekleyin ve dosyayı kaydedin:

    def add_two_numbers(a, b):
      return a + b
    
    def subtract_two_numbers(a, b):
      return a - b
    
    def multiply_two_numbers(a, b):
      return a * b
    
    def divide_two_numbers(a, b):
      return a / b
    
  5. veya setup.py dosyasına aşağıdaki kodu pyproject.toml ekleyin ve dosyayı kaydedin:

    Pyproject.toml

    [tool.poetry]
    name = "my_package"
    version = "0.0.1"
    description = "<my-package-description>"
    authors = ["my-author-name <my-author-name>@<my-organization>"]
    
    [tool.poetry.dependencies]
    python = "^3.10"
    
    [build-system]
    requires = ["poetry-core"]
    build-backend = "poetry.core.masonry.api"
    
    [tool.poetry.scripts]
    main = "my_package.main:main"
    
    • öğesini kuruluşunuzun birincil kişi adıyla değiştirin my-author-name .
    • yerine my-author-name>@<my-organization kuruluşunuzun birincil e-posta iletişim adresi yazın.
    • öğesini Python tekerlek dosyanız için bir görüntü açıklamasıyla değiştirin <my-package-description> .

    Setup.py

    from setuptools import setup, find_packages
    
    import src
    
    setup(
      name = "my_package",
      version = "0.0.1",
      author = "<my-author-name>",
      url = "https://<my-url>",
      author_email = "<my-author-name>@<my-organization>",
      description = "<my-package-description>",
      packages=find_packages(where='./src'),
      package_dir={'': 'src'},
      entry_points={
        "packages": [
          "main=my_package.main:main"
        ]
      },
      install_requires=[
        "setuptools"
      ]
    )
    
    • öğesini kuruluşunuzun URL'si ile değiştirin https://<my-url> .
    • öğesini kuruluşunuzun birincil kişi adıyla değiştirin <my-author-name> .
    • yerine <my-author-name>@<my-organization> kuruluşunuzun birincil e-posta iletişim adresi yazın.
    • öğesini Python tekerlek dosyanız için bir görüntü açıklamasıyla değiştirin <my-package-description> .

3. Adım: Paketin yapılandırma dosyasını oluşturma

Paket yapılandırma dosyası, dağıtmak istediğiniz yapıtları ve çalıştırmak istediğiniz iş akışlarını açıklar.

  1. Paketinizin köküne adlı databricks.ymlbir paket yapılandırma dosyası ekleyin. Bu dosyaya aşağıdaki kodu ekleyin:

    Şiir

    Not

    Zaten bir Python tekerlek dosyası oluşturup yalnızca dağıtmak istiyorsanız eşlemeyi atlayarak artifacts aşağıdaki paket yapılandırma dosyasını değiştirin. Databricks CLI daha sonra Python tekerlek dosyasının zaten derlendiğini varsayar ve dizinin whl girdilerinde libraries belirtilen dosyaları otomatik olarak dağıtır.

    bundle:
      name: my-wheel-bundle
    
    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    
    resources:
      jobs:
        wheel-job:
          name: wheel-job
          tasks:
            - task_key: wheel-task
              new_cluster:
                spark_version: 13.3.x-scala2.12
                node_type_id: Standard_DS3_v2
                data_security_mode: USER_ISOLATION
                num_workers: 1
              python_wheel_task:
                entry_point: main
                package_name: my_package
              libraries:
                - whl: ./dist/*.whl
    
    targets:
      dev:
        workspace:
        host: <workspace-url>
    

    Kurulum araçları

    bundle:
      name: my-wheel-bundle
    
    resources:
      jobs:
        wheel-job:
          name: wheel-job
          tasks:
            - task_key: wheel-task
              new_cluster:
                spark_version: 13.3.x-scala2.12
                node_type_id: Standard_DS3_v2
                data_security_mode: USER_ISOLATION
                num_workers: 1
              python_wheel_task:
                entry_point: main
                package_name: my_package
              libraries:
                - whl: ./dist/*.whl
    
    targets:
      dev:
        workspace:
        host: <workspace-url>
    

    değerini çalışma alanı başına URL'nizle değiştirin<workspace-url>, örneğinhttps://adb-1234567890123456.7.azuredatabricks.net.

    Eşleme artifacts , Şiir ile Python tekerlek dosyaları oluşturmak için gereklidir ve ile setuptoolsPython tekerlek dosyaları oluşturmak için isteğe bağlıdır. Eşleme, artifacts aşağıdaki eşlemelere sahip bir veya daha fazla yapıt tanımı içerir:

    • Eşlemenin type mevcut olması ve Python tekerlek dosyasının oluşturulacağını belirtmek için olarak ayarlanması whl gerekir. için setuptools, whl hiçbir yapıt tanımı belirtilmezse varsayılan değerdir.
    • Eşleme, path Şiir dosyasının pyproject.toml yolunu veya dosyasının setup.pysetuptoolsyolunu gösterir. Bu yol dosyaya databricks.yml göredir. için setuptoolsbu yol . varsayılan olarak (dosyayla databricks.yml aynı dizindir).
    • Eşleme, build Python tekerlek dosyasını derlemek için çalıştırılacak özel derleme komutlarını gösterir. için setuptoolsbu komut varsayılan olarakdır python3 setup.py bdist wheel .
    • Eşleme, files Python tekerlek derlemesine eklenecek ek dosyaları belirten bir veya daha fazla source eşlemeden oluşur. Varsayılan değer yoktur.

    Not

    Python tekerlek dosyasını Databricks Runtime 12.2 LTS veya altı yüklü bir hedef kümeye yüklemek istiyorsanız, dosyaya aşağıdaki üst düzey eşlemeyi databricks.yml eklemeniz gerekir:

    # Applies to jobs with python_wheel_task and that use
    # clusters with Databricks Runtime 13.0 or below installed.
    experimental:
      python_wheel_wrapper: true
    

    Bu eşleme, Databricks CLI'ya aşağıdakileri gerçekleştirmesini ister:

    • Arka planda Python tekerlek dosyasının bir kopyasını dağıtır. Bu dağıtım yolu genellikle ${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whlşeklindedir.
    • Arka planda, hedef kümeye önceki dağıtılan Python tekerlek dosyasını yüklemeye yönelik yönergeleri içeren bir not defteri oluşturur. Bu not defterinin yolu genellikle ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>şeklindedir.
    • Python tekerlek görevi içeren bir iş çalıştırdığınızda ve bu görev önceki Python tekerlek dosyasına başvurduğunda, önceki not defterini çalıştıran arka planda bir iş oluşturulur.

    Azure Databricks çalışma alanı dosya sisteminden Python tekerleği yüklemeleri bu hedef kümelere otomatik olarak yükleneceğinden Databricks Runtime 13.1 veya üzeri yüklü hedef kümeler için bu eşlemeyi belirtmeniz gerekmez.

  2. Şiir kullanıyorsanız aşağıdakileri yapın:

    • Henüz yüklü değilse Poetry, sürüm 1.6 veya üzerini yükleyin. Yüklü Şiir sürümünüzü denetlemek için veya poetry --versionkomutunu poetry -V çalıştırın.
    • Python sürüm 3.10 veya üzerinin yüklü olduğundan emin olun. Python sürümünüzü denetlemek için veya python --versionkomutunu python -V çalıştırın.
    • Databricks CLI 0.209.0 veya üzeri bir sürüme sahip olduğunuzdan emin olun. Databricks CLI sürümünüzde veya databricks --versionkomutunu databricks -v çalıştırın. Bkz. Databricks CLI'yı yükleme veya güncelleştirme.
  3. kullanıyorsanızsetuptools, aşağıdaki komutu çalıştırarak ve setuptools paketlerini henüz yüklü değilse yükleyinwheel:

    pip3 install --upgrade wheel setuptools
    
  4. Bu paketi bir Git sağlayıcısıyla depolamak istiyorsanız, projenin köküne bir .gitignore dosya ekleyin ve bu dosyaya aşağıdaki girdileri ekleyin:

    Şiir

    .databricks
    dist
    

    Kurulum araçları

    .databricks
    build
    dist
    src/my_package/my_package.egg-info
    

4. Adım: Projenin paket yapılandırma dosyasını doğrulama

Bu adımda paket yapılandırmasının geçerli olup olmadığını denetlersiniz.

  1. Kök dizinden paket yapılandırma dosyasını doğrulayı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.

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 bu adımı yinelemelisiniz.

5. Adım: Python tekerlek dosyasını oluşturma ve yerel projeyi uzak çalışma alanına dağıtma

Python tekerlek dosyasını yerel olarak oluşturun, yerleşik Python tekerlek dosyasını çalışma alanınıza dağıtın, not defterini çalışma alanınıza dağıtın ve çalışma alanınızda iş oluşturun:

databricks bundle deploy -t dev

6. Adım: Dağıtılan projeyi çalıştırma

  1. Dağıtılan python tekerlek dosyasını çağırmak için dağıtılan not defterini kullanan dağıtılan işi çalıştırın:

    databricks bundle run -t dev wheel-job
    
  2. Çıktıda öğesini kopyalayın Run URL ve web tarayıcınızın adres çubuğuna yapıştırın.

  3. İş çalıştırmasının Çıkış sayfasında aşağıdaki sonuçlar görüntülenir:

    200 + 400 = 600
    400 - 200 = 200
    200 * 400 = 80000
    400 / 200 = 2.0
    

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 3-5 arası adımları yinelemelisiniz.

İş için Python tekerlek dosyası oluşturma ve yükleme

Poetry veya setuptoolsile bir Python tekerlek dosyası oluşturmak ve ardından bu Python tekerlek dosyasını bir işte kullanmak için dosyanıza databricks.yml bir veya iki eşleme eklemeniz gerekir.

Şiir kullanıyorsanız, dosyaya aşağıdaki artifacts eşlemeyi databricks.yml eklemeniz gerekir. Bu eşleme komutunu poetry build çalıştırır ve dosyayla pyproject.toml aynı dizindeki databricks.yml dosyayı kullanır:

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

Not

Eşleme artifacts için setuptoolsisteğe bağlıdır. Varsayılan olarak, Databricks CLI için setuptools komutunu python3 setup.py bdist_wheel çalıştırır ve dosyayla setup.py aynı dizindeki databricks.yml dosyayı kullanır. Databricks CLI, ve setuptools paketleri henüz yüklü değilse yüklemek wheel için gibi pip3 install --upgrade wheel setuptools bir komutu zaten çalıştırdığınızı varsayar.

Ayrıca, iş görevinin eşlemesi libraries , içinde bildirildiği yapılandırma dosyasına göre yerleşik Python tekerlek dosyasının yolunu belirten bir whl değer içermelidir. Aşağıdaki örnek bunu bir not defteri görevinde gösterir (üç nokta kısa süre için atlanmış içeriği gösterir):

resources:
  jobs:
    my-notebook-job:
      name: my-notebook-job
      tasks:
        - task_key: my-notebook-job-notebook-task
          notebook_task:
            notebook_path: ./my_notebook.py
          libraries:
            - whl: ./dist/*.whl
          new_cluster:
            # ...

İşlem hattı için Python tekerlek dosyası oluşturma ve yükleme

Şiir içeren bir Python tekerlek dosyası oluşturmak veya setuptools ardından Delta Live Tables işlem hattında bu Python tekerlek dosyasına başvurmak için, Şiir kullanıyorsanız dosyanıza databricks.yml bir eşleme eklemeniz ve işlem hattı not defterinize aşağıdaki gibi bir %pip install komut eklemeniz gerekir.

Şiir kullanıyorsanız, dosyaya aşağıdaki artifacts eşlemeyi databricks.yml eklemeniz gerekir. Bu eşleme komutunu poetry build çalıştırır ve dosyayla pyproject.toml aynı dizindeki databricks.yml dosyayı kullanır:

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

Not

Eşleme artifacts için setuptoolsisteğe bağlıdır. Varsayılan olarak, Databricks CLI için setuptools komutunu python3 setup.py bdist_wheel çalıştırır ve dosyayla setup.py aynı dizindeki databricks.yml dosyayı kullanır. Databricks CLI, ve setuptools paketleri henüz yüklü değilse yüklemek wheel için gibi pip3 install --upgrade wheel setuptools bir komutu zaten çalıştırdığınızı varsayar.

Ayrıca, ilgili işlem hattı not defteri, oluşturulan Python tekerlek dosyasını yüklemek için bir %pip install komut içermelidir. Bkz. Python kitaplıkları.