Aracılığıyla paylaş


Databricks Varlık Paketi dağıtım modları

Bu makalede Databricks Varlık Paketi dağıtım modlarının söz dizimi açıklanmaktadır. Paketler, Azure Databricks iş akışlarının programlı yönetimini sağlar. Bkz . Databricks Varlık Paketleri nedir?

CI/CD iş akışlarında geliştiriciler genellikle çözümleri çeşitli aşamalarda veya modlarda kodlar, test eder, dağıtır ve çalıştırır. Örneğin, en basit mod kümesi, üretim öncesi doğrulama için bir geliştirme modu ve ardından doğrulanmış teslim edilebilirler için bir üretim modu içerir. Databricks Varlık Paketleri, bu modların her birine karşılık gelen isteğe bağlı bir varsayılan davranış koleksiyonu sağlar. Paket dağıtımlarınız, bu varsayılan davranışları paket yapılandırma dosyanızda el ile belirtmek yerine bu davranışları tek satırlı mod bildirimiyle kullanabilir ve belki de yol boyunca hedeflenen davranışlardan birini eklemeyi veya yapılandırmayı unutabilir.

Geliştirme modu

Paketinizi geliştirme modunda dağıtmak için önce hedeflenen hedefe olarak ayarlanmış developmenteşlemeyi eklemeniz mode gerekir. Örneğin, adlı dev bu hedef bir geliştirme hedefi olarak değerlendirilir:

targets:
  dev:
    mode: development

komutunu çalıştırarak databricks bundle deploy -t <target-name> bir geliştirme hedefi dağıtmak aşağıdaki davranışları uygular:

  • Dosya veya not defteri olarak dağıtılmayan tüm kaynaklara ön ek [dev ${workspace.current_user.userName}] ekler ve dağıtılan her işi ve işlem hattını bir dev Azure Databricks etiketiyle etiketler.
  • Tüm ilgili dağıtılan Delta Live Tables işlem hatlarını olarak development: trueişaretler. Bkz . İşlem hattı güncelleştirmelerini çalıştırmak için geliştirme modunu kullanma.
  • İlgili paket yapılandırma dosyasında önceden belirtilmiş olan tüm mevcut küme tanımlarını geçersiz kılan, komutuna yönelik ilgili çağrılarda bundle deploy kullanımını --compute-id <cluster-id> etkinleştirir. komutuyla bundle deploy ilgili çağrılarda kullanmak --compute-id <cluster-id> yerine eşlemeyi compute_id burada veya eşlemenin bundle alt eşlemesi olarak, kullanılacak kümenin kimliğine ayarlayabilirsiniz.
  • İlgili dağıtılan işlerde tüm zamanlamaları ve tetikleyicileri duraklatır.
  • Tüm ilgili dağıtılan işlerde eşzamanlı çalıştırmaları etkinleştirir.

Üretim modu

Paketinizi üretim modunda dağıtmak için önce hedeflenen hedefe olarak ayarlanmış productioneşlemeyi eklemeniz mode gerekir. Örneğin, adlı prod bu hedef bir üretim hedefi olarak değerlendirilir:

targets:
  prod:
    mode: production

komutunu çalıştırarak databricks bundle deploy -t <target-name> üretim hedefi dağıtmak aşağıdaki davranışları uygular:

  • Tüm ilgili dağıtılan Delta Live Tables işlem hatlarının olarak development: falseişaretlendiğini doğrular.

  • Geçerli Git dalın hedefte belirtilen Git dalı ile eşit olduğunu doğrular. Hedefte bir Git dalı belirtmek isteğe bağlıdır ve aşağıdaki gibi ek git bir özellik ile yapılabilir:

    git:
      branch: main
    

    Bu doğrulama, dağıtım sırasında belirtilerek --force geçersiz kılınabilir.

  • Databricks, üretim dağıtımları için hizmet sorumlularını kullanmanızı önerir. Bunu bir hizmet sorumlusuna ayarlayarak run_as zorlayabilirsiniz. Bkz. Hizmet sorumlularını yönetme ve Databricks Varlık Paketleri iş akışı için çalıştırma kimliği belirtme. Hizmet sorumlularını kullanmıyorsanız aşağıdaki ek davranışları not edin:

    • artifact_path, file_path, veya root_pathstate_path eşlemelerinin belirli bir kullanıcıya geçersiz kılınmadığını doğrular.
    • Dağıtımlar run_as için belirli izinlere sahip olan kimlikleri netleştirmek için ve permissions eşlemelerinin belirtildiğini doğrular.
  • Eşlemeyi modedevelopmentolarak ayarlamak için önceki davranışın aksine, eşlemeyi mode olarak ayarlamak, örneğin seçeneğini veya compute_id eşlemeyi production kullanarak --compute-id <cluster-id> ilgili paket yapılandırma dosyasında belirtilen mevcut küme tanımlarının geçersiz kılınmasına izin vermez.