Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Databricks uygulaması Python bağımlılıkları, Node.js bağımlılıkları veya her ikisini birden içerebilir. Uygulamayı dağıtırken Azure Databricks yüklenen dile özgü dosyalarda bağımlılıkları bildirirsiniz:
- ile yüklenen Python paketleri için bir
requirements.txtdosya kullanın.pipBkz. ilepipPython bağımlılıklarını tanımlama. - ile yüklenen Python paketleri için bir
pyproject.tomldosya kullanın.uvBkz. ileuvPython bağımlılıklarını tanımlama. -
package.jsonveya ile yüklenennpmpaketleri için birpnpmdosyası kullanın. Bkz . Node.js bağımlılıkları tanımlama.
ile Python bağımlılıklarını tanımlama pip
Kullanan pip uygulamalar , önceden yüklenmiş bir dizi Python kitaplığıyla birlikte gelir. Ek Python kitaplıkları tanımlamak için bir requirements.txt dosya kullanın. Listelenen paketler önceden yüklenmiş paketlerle eşleşiyorsa, dosyanızdaki sürümler varsayılan değerleri geçersiz kılar.
Standart uygulamalardan dönüştürülen yatay olarak ölçeklendirilmiş uygulamalar (Beta), önceden yüklenmiş kitaplıkları geri çevirebilir ve bunun yerine temiz bir temel işletim sistemi görüntüsünde çalıştırılabilir. Bkz. Databricks uygulamaları için önceden yüklenmiş Python kitaplıklarını devre dışı bırakma.
Örneğin:
# Override default version of dash
dash==2.10.0
# Add additional libraries not pre-installed
requests==2.31.0
numpy==1.24.3
# Specify a compatible version range
scikit-learn>=1.2.0,<1.3.0
Önceden yüklenmiş Python kitaplıkları
piptabanlı uygulamalar aşağıdaki önceden yüklenmiş Python kitaplıklarını içerir. Farklı bir sürüme ihtiyacınız yoksa bunları requirements.txt öğesine eklemeniz gerekmez.
| Kütüphane | Sürüm |
|---|---|
| databricks-sql-connector (Databricks SQL Bağlayıcısı) | 3.4.0 |
| databricks yazılım geliştirme kiti (SDK) | 0.33.0 |
| mlflow-skinny | 2.16.2 |
| gradio | 4.44.0 |
| Streamlit | 1.38.0 |
| ışıltılı | 1.1.0 |
| çizgi | 2.18.1 |
| Şişe | 3.0.3 |
| fastapi | 0.115.0 |
| uvicorn[standard] | 0.30.6 |
| gunicorn | 23.0.0 |
| huggingface-hub (Hugging Face merkezi) | 0.35.3 |
| dash-ag-grid | 31.2.0 |
| dash-mantine-bileşenleri | 0.14.4 |
| Dash Bootstrap Bileşenleri | 1.6.0 |
| Plotly yazılımı | 5.24.1 |
| plotly-resampler | 0.10.0 |
ile Python bağımlılıklarını tanımlama uv
Uygulamanız bağımlılık yönetimi için kullanıyorsa uv , yerine bir pyproject.toml dosyada requirements.txtPython bağımlılıklarını tanımlayın.
uvtabanlı uygulamalar önceden yüklenmiş kitaplıklar içermez, bu nedenle içindeki tüm bağımlılıkları bildirmeniz pyproject.tomlgerekir. Ayrıca, Python 3.11 kullanan tabanlı uygulamalardan requires-python farklı olarakpip, alanını kullanarak herhangi bir Python sürümü belirtebilirsiniz.
Aynı durum, önceden yüklenmiş kitaplıkları geri çeviren yatay olarak ölçeklendirilmiş uygulamalar için de geçerlidir. Bkz. Databricks uygulamaları için önceden yüklenmiş Python kitaplıklarını devre dışı bırakma.
Dağıtım sırasında Databricks Apps, hangi dosyaların mevcut olduğunu temel alan bir yükleme stratejisi seçer:
- Varsa
requirements.txt, uygulama bağımlılıkları yüklemek için kullanırpip( aynı zamanda mevcut olup olmadığınapyproject.tomlbakılmaksızın).requirements.txther zaman önceliklidir. - Eğer
requirements.txtmevcut değilse ve hempyproject.tomlhem deuv.lockmevcutsa, uygulama bağımlılıkları kilit dosyasından yüklemek içinuvkullanır.
Yükleyici uv kendi sanal ortamını oluşturur ve yönetir, bu nedenle dizin .venv oluşturmanız gerekmez.
Aşağıdaki örnekte Databricks uygulaması için minimum pyproject.toml değer gösterilmektedir:
[project]
name = "my-app"
requires-python = ">=3.11"
dependencies = [
"dash==2.10.0",
"requests==2.31.0",
]
uv'yi kullanmak için, uv.lock dosyasının yanına bir pyproject.toml dosyası eklemeniz gerekir. Yerel olarak çalıştırarak uv lock oluşturun ve uygulama dizininize ekleyin.
Node.js bağımlılıkları tanımlama
Node.js kitaplıkları tanımlamak için uygulamanızın köküne bir package.json dosya ekleyin. Azure Databricks hem hem npmde pnpm 'yi destekler ve eklediğiniz kilit dosyasına göre paket yöneticisini seçer:
-
pnpm-lock.yamlvarsa, uygulamapnpm'i kullanır. Bkz . kullanmapnpm. - Aksi takdirde, uygulama kullanır
npm. - Hem
pnpm-lock.yamlhem depackage-lock.jsonmevcutsa,pnpmöncelikli olur.
Örneğin, Vite kullanan react uygulamasına yönelik bir package.json dosya aşağıdaki gibi görünebilir:
{
"name": "react-fastapi-app",
"version": "1.0.0",
"private": true,
"type": "module",
"scripts": {
"build": "npm run build:frontend",
"build:frontend": "vite build frontend"
},
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
"typescript": "^5.0.0",
"vite": "^5.0.0",
"@vitejs/plugin-react": "^4.2.0",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0"
}
}
Uyarı
Derleme adımı için gereken tüm paketleri dependencies altında listeleyin, devDependencies altında değil. Ortam değişkenlerinizde ayarlarsanız NODE_ENV=production , dağıtım işlemi yükleme devDependenciesişlemini atlar.
Kullanın pnpm
pnpm ile derlemek için, pnpm-lock.yaml dosyanızın yanına bir package.json dosyası ekleyin. Yerel olarak çalıştırarak pnpm install oluşturun ve uygulama dizininize ekleyin. Azure Databricks, pnpm özelliğini Corepack aracılığıyla sunar.
Uygulamalar için pnpm aşağıdaki gereksinimleri not edin:
- Bağımlılıklar
pnpm install --frozen-lockfilekullanılarak yüklenir, bu nedenlepnpm-lock.yamlpackage.jsonile senkronize kalmalıdır. Aralarında bir uyuşmazlık olursa, kilit dosyası güncelleştirilmek yerine derleme başarısız olur. Bağımlılıkları değiştirdikten sonra kilit dosyasınıpnpm installile yeniden oluşturun. - içinde start komutunu
app.yamlbelirtmeniz gerekir.npmuygulamalarının aksine,pnpmuygulamaları varsayılan birstartbetiğine geri dönmez. Bkz Databricks uygulama yürütmesiniapp.yamlile yapılandırma.
pnpm çalışma alanı projeleri için (burada bir pnpm-workspace.yaml dosyası bulunur), bazı app.yaml komutları pnpm yinelemeli olarak çalışır. Örneğin, bir derleme veya başlangıç adımı çalıştırılabilir pnpm -r run build. Bu komutlar, iç içe komutların doğru şekilde çözümlenmesi için corepack pnpm yerine pnpm çağırmalıdır.
Sürüm çakışmalarını önleme
Sürüm çakışmalarını önlemek için şu yönergeleri izleyin:
- Tabanlı uygulamalar için,
pipönceden yüklenmiş bir paketi geçersiz kılmak, belirttiğiniz sürüm önceden yüklenenden ciddi farklılıklar gösteriyorsa uyumluluk sorunlarına neden olabilir. - Paket sürümü değişikliklerinin hatalara neden olmadığını doğrulamak için uygulamanızı her zaman test edin.
-
requirements.txtiçindeki açık sürümleri sabitlemek, dağıtımlar arasında uygulama davranışının tutarlılığını korumaya yardımcı olur. -
uvkullanırken, dağıtımlar arasında tamamen yeniden üretilebilir kurulumlar sağlamak için biruv.lockdosyası ekleyin.
Bağımlılık yükleme ve yönetimi
Azure Databricks, requirements.txt, pyproject.toml ve package.json içinde tanımlanan kitaplıkları doğrudan adanan işleminizde çalışan kapsayıcıya yükler. Bu bağımlılıkları yönetmek ve düzeltme eki uygulamaktan siz sorumlusunuz.
Bağımlılık dosyalarınızda birden çok kaynaktan kitaplık belirtebilirsiniz:
- PyPI ve npm gibi genel depolardan indirilen kitaplıklar
- Azure Databricks gizli dizilerinde depolanan kimlik bilgilerini kullanarak kimlik doğrulaması sağlayan özel depolar
- Dizininizde
/Volumes/depolanan kitaplıklar (örneğin,/Volumes/<catalog>/<schema>/<volume>/<path>)
Özel depolardan yükleme
Paketleri özel bir depodan yüklemek için ortam değişkenlerini kimlik doğrulaması için yapılandırın. Örneğin, PIP_INDEX_URL özel deponuza işaret edecek şekilde ayarlayın.
env:
- name: PIP_INDEX_URL
valueFrom: my-pypi-secret
Çalışma alanı ağ yapılandırmanız özel depoya erişime izin vermelidir. Bkz . Databricks Uygulamaları için ağı yapılandırma.
Çalışma alanı düzeyinde varsayılan paket depolarını kullanma
Önemli
Bu özellik Beta sürümündedir. Bunu kullanmak için, bir çalışma alanı yöneticisinin Databricks Uygulamaları için Çalışma Alanı Deposu Yapılandırmasını Etkinleştir seçeneğini Previews sayfasından etkinleştirmesi gerekir. Bkz. Azure Databricks önizlemelerini yönetme.
Çalışma alanı yöneticisi çalışma alanı için varsayılan paket depolarını yapılandırırsa, bu çalışma alanındaki uygulamalar genel PyPI ve npm kayıt defterleri yerine çalışma alanı tarafından yapılandırılmış depolardan Python ve Node.js paketleri yükler. Bu, uygulama geliştiricilerinin yapılandırmayı her uygulamada tekrarlamadan kurumsal paket deposu ayarlarını otomatik olarak devralmasına, aynı zamanda uygulama bazında geçersiz kılmalara da izin vermesine olanak tanır.
Bu çalışma alanı düzeyindeki ayarları yapılandırmak için bkz. Varsayılan paket depolarını yapılandırma.
Python paketleri
Derlemenin paket yükleme aşamasında Databricks Apps aşağıdaki ortam değişkenleri için çalışma alanı ayarlarını devralır:
PIP_INDEX_URLPIP_EXTRA_INDEX_URLPIP_CERTUV_INDEX_URLUV_EXTRA_INDEX_URLSSL_CERT_FILE
Uygulamaya özgü yapılandırma, çalışma alanı varsayılanlarından önceliklidir. Uygulamanızın app.yaml dosyasında önceki ortam değişkenlerinden birini (aşağıda belirtilen sertifika ayarları dışında) ayarlarsanız, içindeki app.yaml değerler bu uygulamanın çalışma alanı ayarlarını geçersiz kılar.
Uyarı
PIP_CERT ve SSL_CERT_FILE sertifika ayarları her zaman çalışma alanında yapılandırılmış değerleri kullanır ve app.yaml içinde geçersiz kılınamaz.
Warning
Çalışma alanı yöneticisi önizlemeyi açtıktan sonra uygulamalarınızı test edin; farklı bir indeksten yüklemeye devam etmeniz gerekiyorsa app.yaml içinde PIP_INDEX_URL ayarını yapın.
Node.js paketleri
Çalışma alanı yöneticisi varsayılan npm kayıt defterini yapılandırdığında, Databricks Apps dağıtım sırasında çalışma alanı kayıt defteri yapılandırmasını uygulamanın .npmrc dosyasına yazar. Bu, uygulamaların her uygulamanın kendi kayıt defteri URL'sini veya kimlik doğrulama belirtecini depolamadan çalışma alanı tarafından yapılandırılmış kayıt defterinden özel paketler de dahil olmak üzere Node.js paketleri yüklemesine olanak tanır.
Belirli bir uygulama için farklı bir kayıt defteri kullanmak için, uygulamanızın NPMRC dosyasındaki app.yaml ortam değişkenini kendi npm yapılandırmanıza başvuracak şekilde ayarlayın. Uygulamaya özgü yapılandırma, çalışma alanı varsayılanlarından önceliklidir.
Unity Kataloğu birimlerinden tekerlek dosyalarını yükleme
Unity Kataloğu birimlerinde depolanan tekerlek dosyalarından Python paketlerini yüklemek için:
- Unity Kataloğu birimini uygulamanıza kaynak olarak ekleyin. Bkz Unity Kataloğu Birimi.
- Doğrudan içinde
requirements.txttam tekerlek dosyası yoluna başvurun:
/Volumes/<catalog>/<schema>/<volume>/my_package-1.0.0-py3-none-any.whl
Uyarı
Ortam değişkeni başvuruları içinde requirements.txtdesteklenmez. Tam tekerlek dosya yolunu sabit kodlamalısınız.
Dış paket depolarına erişirken güvenliği artırmak için, genel depolara erişimi kısıtlamak ve özel ağ yapılandırmak için sunucusuz çıkış denetimlerini kullanın. Bkz . Databricks Uygulamaları için ağı yapılandırma.