Aracılığıyla paylaş


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 bundleekleyerek ç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:

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 deploysonra 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 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 ö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ı devbir 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_jobadıyla messageHelloWorld 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.