Aracılığıyla paylaş


bundle komut grubu

Not

Bu bilgiler Databricks CLI 0.205 ve üzeri sürümleri için geçerlidir. Databricks CLI Genel Önizleme aşamasındadır.

Databricks CLI kullanımı, Kullanım Verileri sağlamaları da dahil olmak üzere Databricks Lisansı ve Databricks Gizlilik Bildirimi'ne tabidir.

Databricks CLI içindeki bundle komut grubu, Azure Databricks işleri, DLT işlem hatlarıve MLOps Stacks gibi Azure Databricks iş akışlarını programlama yoluyla doğrulamanıza, dağıtmanıza ve çalıştırmanıza olanak tanır. Bkz . Databricks Varlık Paketleri nedir?.

bundle komutlarını databricks bundle ekleyerek çalıştırırsınız. bundle komutunun yardımını görüntülemek için databricks bundle -h komutunu çalıştırın.

Proje şablonundan paket oluşturma

Python için varsayılan Databricks Varlık Paketi şablonunu kullanarak bir Databricks Varlık Paketi oluşturmak için komutunu aşağıdaki gibi çalıştırın bundle init ve ardından ekrandaki istemleri yanıtlayın:

databricks bundle init

Özel bir Databricks Varlık Paketi şablonu kullanarak Databricks Varlık Paketi oluşturmak için aşağıdaki komutu ç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:

Paket yapılandırma şemasını görüntüleme

Paket 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ğrula

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.

Yalnızca paketin kimliğinin ve kaynaklarının özetini çıkarmak istiyorsanız paket özetini kullanın.

Paket ağacını çalışma alanıyla eşitleme

Bir paketin dosya değişikliklerini yerel bir dosya sistemi dizininden, uzak bir Azure Databricks çalışma alanı içindeki bir dizine tek yönlü eşitlemek için bundle sync 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ı, databricks sync komutları ile aynı şekilde çalışır ve üretkenlik kolaylığı olarak sunulur. Komut kullanımı bilgileri için bkz. sync komut grubu.

Paket yapılandırma dosyası oluşturma

Komutunu kullanarak bundle generate Databricks çalışma alanınızda zaten var olan bir , işlem hattı veya pano için kaynak yapılandırması oluşturabilirsiniz. Bu komut paket projesinin klasöründe iş, işlem hattı veya pano *.yml için bir resources dosya oluşturur ve ayrıca yapılandırmada başvurulan not defterleri gibi tüm dosyaları indirir.

İş veya işlem hattı yapılandırması oluştur

Önemli

bundle generate Komut, kaynak yapılandırmasını otomatik olarak oluşturmak için kolaylık olarak sağlanır. Ancak, bu iş veya işlem hattı yapılandırması pakete eklenip dağıtıldığında yeni bir kaynak oluşturur ve ilk kez kullanılmadığı sürece bundle deployment bind mevcut kaynağı güncelleştirmez. Bkz . Paket kaynaklarını bağlama.

bir iş veya işlem hattı için yapılandırma oluşturmak için komutunu aşağıdaki gibi çalıştırın bundle generate :

databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]

Not

Şu anda yalnızca not defteri görevleri olan işler bu komut tarafından desteklenmektedir.

Örneğin, aşağıdaki komut aşağıdaki YAML'yi hello_job.yml içeren paket proje klasöründe yeni resources 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

Pano yapılandırması oluşturma

Çalışma alanında var olan bir pano için yapılandırma oluşturmak için komutunu çalıştırın bundle generateve panonun kimliğini veya çalışma alanı yolunu belirtin:

databricks bundle generate dashboard --existing-id [dashboard-id]
databricks bundle generate dashboard --existing-path [dashboard-workspace-path]

Çalışma alanı kullanıcı arabiriminden bir panoya ait çalışma alanı yolunu kopyalayabilirsiniz.

Örneğin, aşağıdaki komut paket proje klasöründe aşağıdaki YAML'yi içeren yeni baby_gender_by_county.dashboard.yml bir dosya resources oluşturur ve dosyayı proje klasörüne baby_gender_by_county.lvdash.json indirirsrc.

databricks bundle generate dashboard --existing-path "/Workspace/Users/someone@example.com/baby_gender_by_county.lvdash.json"
# This is the contents of the resulting baby_gender_by_county.dashboard.yml file.
resources:
  dashboards:
    baby_gender_by_county:
      display_name: 'Baby gender by county'
      warehouse_id: aae11o8e6fe9zz79
      file_path: ../src/baby_gender_by_county.lvdash.json

İpucu

Bir pano dağıttıktan sonra .lvdash.json dosyasını güncellemek için, mevcut pano kaynağı için bu dosyayı oluşturmak üzere bundle generate dashboard komutunu çalıştırırken --resource seçeneğini kullanın. Pano güncellemelerini sürekli yoklayıp almak için --force ve --watch seçeneklerini kullanın.

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. Eğer bir kaynağı bağlarsanız, çalışma alanındaki mevcut Azure Databricks kaynakları, sonraki bundle deploy'den sonra bağlı olduğu pakette tanımlanan yapılandırmaya göre güncellenir.

İpucu

Bağlamayı çalıştırmadan önce paketi çalışma alanında 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

Eğer bir paketteki iş veya işlem hattı ile çalışma alanındaki uzak eşdeğeri arasındaki bağlantıyı kaldırmak istiyorsanız, bundle deployment unbind kullanın.

databricks bundle deployment unbind [resource-key]

Paket özetini çıkar

bundle summary Komutu, Databricks çalışma alanında kaynağa kolayca gidebilmeniz için kaynaklara yönelik ayrıntılı bağlantılar da dahil olmak üzere bir paket kimliğinin ve kaynaklarının özetini oluşturur.

databricks bundle summary

Aşağıdaki örnek çıktı, bir işi ve işlem hattını tanımlayan adlı my_pipeline_bundle paketin özetidir:

Name: my_pipeline_bundle
Target: dev
Workspace:
  Host: https://myworkspace.cloud.databricks.com
  User: someone@example.com
  Path: /Users/someone@example.com/.bundle/my_pipeline/dev
Resources:
  Jobs:
    my_project_job:
      Name: [dev someone] my_project_job
      URL:  https://myworkspace.cloud.databricks.com/jobs/206000809187888?o=6051000018419999
  Pipelines:
    my_project_pipeline:
      Name: [dev someone] my_project_pipeline
      URL:  https://myworkspace.cloud.databricks.com/pipelines/7f559fd5-zztz-47fa-aa5c-c6bf034b4f58?o=6051000018419999

İpucu

Databricks çalışma alanında bir kaynağa gitmek için de kullanabilirsiniz bundle open . Bkz. Paket kaynağı açma.

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, paket yapılandırma dosyalarında bildirilen hedef adıyla birlikte -t (veya --target) seçeneğini ayarlayın. Örneğin, adıyla devbildirilen 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, root_path özelliği, bir paketin benzersiz kimliğini belirleyen ve varsayılan olarak ~/.bundle/${bundle.name}/${bundle.target} olan özelliktir. 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 ile ç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 mevcut değilse oluşturulacaktır.
  • 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 .

İş veya işlem hattı ç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

Hedef adı dev olarak ilan edilen kapsamda, anahtara sahip hello_job ile bir iş çalıştırmak için:

databricks bundle run -t dev hello_job

Örnek işlem hattı doğrulama çalıştırması yapmak istiyorsanız, aşağıdaki örnekte gösterildiği gibi --validate-only seçeneğini kullanın.

databricks bundle run --validate-only my_pipeline

İş parametrelerini iletmek için anahtar parametre adı olacak şekilde virgülle ayrılmış anahtar-değer çiftleriyle birlikte --params seçeneğini kullanın. Örneğin, aşağıdaki komut, message adlı parametreyi HelloWorld olarak ayarlar hello_job işi için.

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

Paket kaynağını aç

Çalışma alanında bir paket kaynağına gitmek için, paket projesi kökünden bundle open komutunu çalıştırarak açılacak kaynağı belirtin. Kaynak anahtarı belirtilmezse bu komut, paket kaynaklarının seçileceği bir liste oluşturur.

databricks bundle open [resource-key]

Örneğin, aşağıdaki komut bir tarayıcı açar ve paket için ayarlanmış olan Databricks çalışma alanındaki baby_gender_by_county panosuna yönlendirir.

databricks bundle open baby_gender_by_county

Bir paketi yok et

Uyarı

Bir paketi yok etmek, bir paketin daha önce dağıtılan işlerini, boru hatlarını ve artifaktlarını kalıcı olarak siler. Bu eylem geri alınamaz.

Daha önce dağıtılan işleri, işlem hatlarını ve yapıtları silmek için bundle destroy komutunu çalıştırın. 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 --auto-approve seçeneğini ekleyinbundle destroy.