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.218.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. - 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.
-
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>
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 komutunudatabricks auth env --profile <profile-name>
çalıştırın.Web tarayıcınızda, Azure Databricks çalışma alanınızda oturum açmak için ekrandaki yönergeleri tamamlayın.
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.
Yerel geliştirme makinenizde şablonun oluşturulan paketini içerecek bir dizine geçmek için terminalinizi veya komut isteminizi kullanın.
Komutunu çalıştırmak
bundle init
için Dataricks CLI sürümünü kullanın:databricks bundle init
için
Template to use
, tuşuna basarakEnter
varsayılan değerinidefault-python
bırakın.için
Unique name for this project
varsayılan değerinimy_project
bırakın veya farklı bir değer yazın ve tuşuna basınEnter
. Bu, bu paket için kök dizinin adını belirler. Bu kök dizin, geçerli çalışma dizininiz içinde oluşturulur.için
Include a stub (sample) notebook
öğesini seçinno
ve tuşuna basınEnter
. Bu, Databricks CLI'ya paketinize örnek not defteri eklememesi talimatını vermektedir.için
Include a stub (sample) DLT pipeline
öğesini seçinno
ve tuşuna basınEnter
. Bu, Databricks CLI'ya paketinizde örnek bir Delta Live Tables işlem hattı tanımlamamasını sağlar.için
Include a stub (sample) Python package
, tuşuna basarakEnter
varsayılan değeriniyes
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.txt
dosyaları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 Şiir setuptools
kullanacak ş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 --version
komutunupoetry -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 --version
komutunupython -V
çalıştırın. - Databricks CLI sürüm 0.209.0 veya üzeri. Databricks CLI sürümünüzde veya
databricks --version
komutunudatabricks -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:
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
Ş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:
- için
Package name
, altına/src
alt klasörün adını yazın ve ardından tuşuna basınEnter
. Bu, paketinname
paketin dosyasında tanımlanansetup.py
değeri de olmalıdır. - için
Version
yazın0.0.1
ve tuşuna basınEnter
. Bu, paketinsrc/<project-name>/__init__.py
dosyasında tanımlanan sürüm numarasıyla eşleşir. - için
Description
yazınwheel file based on <project-name>/src
(değerini projenin adıyla değiştirerek<project-name>
) ve tuşuna basınEnter
. Bu, şablonundescription
setup.py
dosyasında tanımlanan değerle eşleşir. - için
Author
tuşuna basınEnter
. Bu varsayılan değer, şablonunsetup.py
dosyasında tanımlanan yazarla eşleşir. - için
License
tuşuna basınEnter
. Şablonda tanımlı lisans yok. - için
Compatible Python versions
hedef Azure Databricks kümelerinizdekiyle eşleşen Python sürümünü girin (örneğin,^3.10
) ve tuşuna basınEnter
. - Tür
no
içinWould 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. - Tür
no
içinWould 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. - için
Do you confirm generation?
tuşuna basınEnter
.
- için
İstemleri tamamladıktan sonra, Şiir paketin projesine bir
pyproject.toml
dosya ekler. Dosya hakkındapyproject.toml
bilgi için bkz . pyproject.toml dosyası.Paketin kök dizininden dosyayı okuma
pyproject.toml
, bağımlılıkları çözme ve yükleme, bağımlılıkları kilitlemek için birpoetry.lock
dosya oluşturma ve son olarak bir sanal ortam oluşturma yönergelerinipoetry
ekleyin. Bunu yapmak için aşağıdaki komutu çalıştırın:poetry install
dosyasının sonuna
pyproject.toml
aşağıdaki bölümü ekleyin ve yerine<project-name>
dosyayı içerensrc/<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.
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.
Şiir'in
setup.py
bunlara ihtiyacı olmadığından verequirements-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.
Kök dizinden Databricks CLI'sini
bundle validate
kullanarak komutu aşağıdaki gibi çalıştırın:databricks bundle validate
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.
kullanıyorsanız
setuptools
, aşağıdaki komutu çalıştırarak vesetuptools
paketlerini yükleyinwheel
.pip3 install --upgrade wheel setuptools
Visual Studio Code terminalinde Databricks CLI'yi kullanarak komutu aşağıdaki gibi çalıştırın
bundle deploy
:databricks bundle deploy -t dev
Yerel olarak derlenmiş Python tekerlek dosyasının dağıtılıp dağıtılmadığını denetlemek istiyorsanız:
- Azure Databricks çalışma alanınızın kenar çubuğunda Çalışma Alanı'ya tıklayın.
- Ş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.
İşin oluşturulup oluşturulmadığını denetlemek istiyorsanız:
- Azure Databricks çalışma alanınızın kenar çubuğunda İş Akışları'ne tıklayın.
- İşler sekmesinde [dev
<your-username>
]<project-name>
_job öğesine tıklayın. - 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.
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
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.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
setuptools
ile Python tekerlek dosyaları oluşturma, oluşturma ve bunlarla çalışma. Şiir için bkz . Temel kullanım. içinsetuptools
bkz . Python Paketleme Kullanıcı Kılavuzu. - Azure Databricks işinin bir parçası olarak Python tekerlek dosyalarını kullanma. Bkz. Azure Databricks işinde Python tekerlek dosyası kullanma.
Şiir veya setuptools
ile 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.
-
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>
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 komutunudatabricks auth env --profile <profile-name>
çalıştırın.Web tarayıcınızda, Azure Databricks çalışma alanınızda oturum açmak için ekrandaki yönergeleri tamamlayın.
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.
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
__init__.py
Dosyayı boş bırakın.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()
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
veya
setup.py
dosyasına aşağıdaki kodupyproject.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>
.
- öğesini kuruluşunuzun birincil kişi adıyla değiştirin
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.
Paketinizin köküne adlı
databricks.yml
bir 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 dizininwhl
girdilerindelibraries
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 ilesetuptools
Python 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çinsetuptools
,whl
hiçbir yapıt tanımı belirtilmezse varsayılan değerdir. - Eşleme,
path
Şiir dosyasınınpyproject.toml
yolunu veya dosyasınınsetup.py
setuptools
yolunu gösterir. Bu yol dosyayadatabricks.yml
göredir. içinsetuptools
bu yol.
varsayılan olarak (dosyayladatabricks.yml
aynı dizindir). - Eşleme,
build
Python tekerlek dosyasını derlemek için çalıştırılacak özel derleme komutlarını gösterir. içinsetuptools
bu komut varsayılan olarakdırpython3 setup.py bdist wheel
. - Eşleme,
files
Python tekerlek derlemesine eklenecek ek dosyaları belirten bir veya daha fazlasource
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.
- Eşlemenin
Ş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 --version
komutunupoetry -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 --version
komutunupython -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 --version
komutunudatabricks -v
çalıştırın. Bkz. Databricks CLI'yı yükleme veya güncelleştirme.
- 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
kullanıyorsanız
setuptools
, aşağıdaki komutu çalıştırarak vesetuptools
paketlerini henüz yüklü değilse yükleyinwheel
:pip3 install --upgrade wheel setuptools
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.
Kök dizinden paket yapılandırma dosyasını doğrulayın:
databricks bundle validate
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
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
Çıktıda öğesini kopyalayın
Run URL
ve web tarayıcınızın adres çubuğuna yapıştırın.İş ç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 setuptools
ile 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 setuptools
isteğ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 setuptools
isteğ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ı.