bundle
komut grubu
Not
Bu bilgiler Databricks CLI 0.218.0 ve üzeri sürümleri için geçerlidir. Databricks CLI sürümünüzü bulmak için komutunu çalıştırın databricks -v
.
bundle
Databricks CLI içindeki komut grubu Azure Databricks işleri, Delta Live Tables işlem hatları ve MLOps Yığınları gibi Azure Databricks iş akışlarını program aracılığıyla doğrulamanızı, dağıtmanızı ve çalıştırmanızı sağlar. Bkz . Databricks Varlık Paketleri nedir?.
Önemli
Databricks CLI'yı yüklemek için bkz . Databricks CLI'yı yükleme veya güncelleştirme. Databricks CLI için kimlik doğrulamasını yapılandırmak için bkz . Databricks CLI için kimlik doğrulaması.
komutlarını komutuna databricks bundle
ekleyerek çalıştırırsınızbundle
. Komutun yardımını bundle
görüntülemek için komutunu çalıştırın databricks bundle -h
.
Proje şablonundan paket oluşturma
Python için varsayılan Databricks Varlık Paketi şablonunu kullanarak Databricks Varlık Paketi oluşturmak için komutunu aşağıdaki gibi çalıştırın bundle init
ve ekrandaki istemleri yanıtlayın:
databricks bundle init
Varsayılan olmayan bir Databricks Varlık Paketi şablonu kullanarak Databricks Varlık Paketi oluşturmak için komutunu aşağıdaki gibi çalıştırın bundle init
:
databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"
Ayrıca bkz:
- Databricks Varlık Paketi şablonları
- Databricks Varlık Paketlerini kullanarak Azure Databricks'te iş geliştirme
- Databricks Varlık Paketleri ile Delta Live Tables işlem hatları geliştirme
- MLOps Yığınları için Databricks Varlık Paketleri
Paket yapılandırma şemasını görüntüleme
Databricks Varlık Paketi yapılandırma şemasını görüntülemek için komutunu aşağıdaki gibi çalıştırın bundle schema
:
databricks bundle schema
Databricks Varlık Paketi yapılandırma şemasını bir JSON dosyası olarak çıkarmak için komutunu çalıştırın bundle schema
ve çıkışı bir JSON dosyasına yeniden yönlendirin. Örneğin, aşağıdaki gibi geçerli dizin içinde adlı bundle_config_schema.json
bir dosya oluşturabilirsiniz:
databricks bundle schema > bundle_config_schema.json
Paketi doğrulama
Paket yapılandırma dosyalarınızın söz dizimsel olarak doğru olduğunu doğrulamak için, aşağıdaki gibi paket projesi kökünden komutunu çalıştırın bundle validate
:
databricks bundle validate
Varsayılan olarak bu komut paket kimliğinin özetini döndürür:
Name: MyBundle
Target: dev
Workspace:
Host: https://my-host.cloud.databricks.com
User: someone@example.com
Path: /Users/someone@example.com/.bundle/MyBundle/dev
Validation OK!
Not
Kaynak bundle validate
özellikleri ilgili nesnenin şemasında bulunmayan paket yapılandırma dosyalarında tanımlanıyorsa, komut uyarı gönderir.
Paket ağacını çalışma alanıyla eşitleme
Bir paketin bundle sync
dosya değişikliklerini yerel bir dosya sistemi dizininde, uzak bir Azure Databricks çalışma alanı içindeki bir dizine tek yönlü eşitleme yapmak için komutunu kullanın.
Not
bundle sync
komutları, uzak Azure Databricks çalışma alanı içindeki bir dizindeki dosya değişikliklerini yerel bir dosya sistemi içindeki bir dizine eşitleyemez.
databricks bundle sync
komutlar, komutlar ile databricks sync
aynı şekilde çalışır ve üretkenlik kolaylığı olarak sağlanır. Komut kullanımı bilgileri için bkz . eşitleme komut grubu.
Paket yapılandırma dosyası oluşturma
Komutunu kullanarak bundle generate
Databricks çalışma alanınızda zaten var olan bir iş veya işlem hattı için kaynak yapılandırması oluşturabilirsiniz. Bu komut, paket projesinin klasöründe iş veya işlem hattı resources
için bir *.yml
dosya oluşturur ve ayrıca iş veya işlem hattı yapılandırmasında başvurulan tüm not defterlerini indirir. Şu anda yalnızca not defteri görevleri olan işler bu komut tarafından desteklenmektedir.
Önemli
bundle generate
Komut, kaynak yapılandırmasını otomatik olarak oluşturmak için kolaylık olarak sağlanır. Ancak, bu yapılandırma pakete eklenip dağıtıldığında yeni bir kaynak oluşturur ve kaynakta ilk kez kullanılmadığı sürece bundle deployment bind
mevcut kaynağı güncelleştirmez.
bundle generate
Komutunu aşağıdaki gibi çalıştırın:
databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]
Örneğin, aşağıdaki komut aşağıdaki YAML'yi resources
içeren paket proje klasöründe yeni hello_job.yml
bir dosya oluşturur ve dosyasını simple_notebook.py
proje klasörüne src
indirir.
databricks bundle generate job --existing-job-id 6565621249
# This is the contents of the resulting hello_job.yml file.
resources:
jobs:
6565621249:
name: Hello Job
format: MULTI_TASK
tasks:
- task_key: run_notebook
existing_cluster_id: 0704-xxxxxx-yyyyyyy
notebook_task:
notebook_path: ./src/simple_notebook.py
source: WORKSPACE
run_if: ALL_SUCCESS
max_concurrent_runs: 1
Paket kaynaklarını bağlama
komutu, bundle deployment bind
paket tanımlı işleri ve işlem hatlarını, Databricks Varlık Paketleri tarafından yönetilmeleri için Azure Databricks çalışma alanında mevcut işlere ve işlem hatlarına bağlamanıza olanak tanır. Bir kaynağı bağlarsanız, çalışma alanında mevcut Azure Databricks kaynakları sonrakinden bundle deploy
sonra bağlandığı pakette tanımlanan yapılandırmaya göre güncelleştirilir.
İpucu
Bağlamayı çalıştırmadan önce paket çalışma alanını onaylamak iyi bir fikirdir.
databricks bundle deployment bind [resource-key] [resource-id]
Örneğin, aşağıdaki komut kaynağı hello_job
çalışma alanında uzak karşılığına bağlar. Komut bir fark oluşturur ve kaynak bağlamasını reddetmenizi sağlar, ancak onaylanırsa paketteki iş tanımında yapılan tüm güncelleştirmeler, paket bir sonraki dağıtıldığında ilgili uzak işe uygulanır.
databricks bundle deployment bind hello_job 6565621249
Bir paketteki iş veya işlem hattı ile çalışma alanında uzak karşılığı arasındaki bağlantıyı kaldırmak istiyorsanız kullanın bundle deployment unbind
.
databricks bundle deployment unbind [resource-key]
Paket dağıtma
Uzak çalışma alanına bir paket dağıtmak için paket projesi kökünden komutunu çalıştırın bundle deploy
. Hiçbir komut seçeneği belirtilmezse, paket yapılandırma dosyalarında bildirilen varsayılan hedef kullanılır.
databricks bundle deploy
Paketi belirli bir hedefe dağıtmak için ( veya --target
) seçeneğini, paket yapılandırma dosyalarında bildirilen hedef adıyla birlikte ayarlayın -t
. Örneğin, adıyla dev
bildirilen bir hedef için:
databricks bundle deploy -t dev
Paket geliştirme, hazırlama ve üretim çalışma alanları gibi birden çok çalışma alanına dağıtılabilir. Temel olarak özelliği, bir paketin root_path
benzersiz kimliğini (varsayılan olarak olarak ) belirleyen özelliktir ~/.bundle/${bundle.name}/${bundle.target}
. Bu nedenle, bir paketin kimliği varsayılan olarak dağıtanın kimliğinden, paketin adından ve paketin hedef adından oluşur. Bunlar farklı paketlerde aynıysa, bu paketlerin dağıtımı birbirini engeller.
Ayrıca paket dağıtımı, hedef çalışma alanında oluşturduğu kaynakları kimlikleri tarafından çalışma alanı dosya sisteminde depolanan bir durum olarak izler. Kaynak adları, bir paket dağıtımı ile kaynak örneği arasında bağıntı oluşturmak için kullanılmaz, bu nedenle:
- Paket yapılandırmasındaki bir kaynak hedef çalışma alanında yoksa oluşturulur.
- Paket yapılandırmasındaki bir kaynak hedef çalışma alanında varsa, çalışma alanında güncelleştirilir.
- Bir kaynak paket yapılandırmasından kaldırılırsa, daha önce dağıtıldıysa hedef çalışma alanından kaldırılır.
- Bir kaynağın paketle ilişkisi yalnızca paket adını, paket hedefini veya çalışma alanını değiştirdiğinizde unutulabilir. Bu değerleri içeren bir özet çıkarmak için komutunu çalıştırabilirsiniz
bundle validate
.
Paket çalıştırma
Belirli bir işi veya işlem hattını çalıştırmak için komutunu kullanın bundle run
. Paket yapılandırma dosyaları içinde bildirilen işin veya işlem hattının kaynak anahtarını belirtmeniz gerekir. Varsayılan olarak, paket yapılandırma dosyalarında bildirilen ortam kullanılır. Örneğin, bir işi hello_job
varsayılan ortamda çalıştırmak için aşağıdaki komutu çalıştırın:
databricks bundle run hello_job
adlı dev
bir hedef bağlamında anahtarla hello_job
bir iş çalıştırmak için:
databricks bundle run -t dev hello_job
İşlem hattı doğrulama çalıştırması yapmak istiyorsanız, aşağıdaki örnekte gösterildiği gibi seçeneğini kullanın --validate-only
:
databricks bundle run --validate-only my_pipeline
İş parametrelerini geçirmek için seçeneğini ve ardından virgülle ayrılmış anahtar-değer çiftlerini kullanın--params
; burada anahtar parametre adıdır. Örneğin, aşağıdaki komut, işin hello_job
adıyla message
HelloWorld
parametresini ayarlar:
databricks bundle run --params message=HelloWorld hello_job
Not
İş görev seçeneklerini kullanarak parametreleri iş görevlerine geçirebilirsiniz, ancak --params
bu seçenek iş parametrelerini geçirmek için önerilen yöntemdir. İş parametreleri tanımlanmamış bir iş için iş parametreleri belirtilirse veya iş parametreleri tanımlanmış bir iş için görev parametreleri belirtilirse hata oluşur.
Mevcut bir iş çalıştırmasını veya işlem hattı güncelleştirmesini iptal etmek ve yeniden başlatmak için şu --restart
seçeneği kullanın:
databricks bundle run --restart hello_job
Bir paketi yok etme
Daha önce dağıtılan işleri, işlem hatlarını ve yapıtları silmek için komutunu çalıştırın bundle destroy
. Aşağıdaki komut, paket yapılandırma dosyalarında tanımlanan önceden dağıtılan tüm işleri, işlem hatlarını ve yapıtları siler:
databricks bundle destroy
Not
Bir paketin kimliği paket adından, paket hedefinde ve çalışma alanından oluşur. Bunlardan herhangi birini değiştirdiyseniz ve dağıtmadan önce bir paketi yok etmeye çalışırsanız bir hata oluşur.
Varsayılan olarak, önceden dağıtılan işlerin, işlem hatlarının ve yapıtların kalıcı olarak silinmesini onaylamanız istenir. Bu istemleri atlamak ve otomatik kalıcı silme gerçekleştirmek için komutuna bundle destroy
seçeneğini ekleyin--auto-approve
.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin