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. Bu davranışları belirli bir hedef için kullanmak için yapılandırma eşlemesinde targets
hedef için bir mode
veya yapılandırınpresets
. hakkında targets
bilgi için bkz . paket yapılandırma hedefleri eşlemesi.
Geliştirme modu
Paketinizi geliştirme modunda dağıtmak için önce hedeflenen hedefe olarak ayarlanmış development
eş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 geliştirme modunda bir hedefi dağıtmakdatabricks bundle deploy -t <target-name>
, ön ayarlar kullanılarak özelleştirilebilen aşağıdaki davranışları uygular:
- Dosya veya not defteri olarak dağıtılmayan tüm kaynaklara ön ek
[dev ${workspace.current_user.short_name}]
ekler ve dağıtılan her işi ve işlem hattını birdev
Azure Databricks etiketiyle etiketler. - Tüm ilgili dağıtılan Delta Live Tables işlem hatlarını olarak
development: true
iş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. komutuylabundle deploy
ilgili çağrılarda kullanmak--compute-id <cluster-id>
yerine eşlemeyicompute_id
burada veya eşlemeninbundle
alt eşlemesi olarak, kullanılacak kümenin kimliğine ayarlayabilirsiniz. - İşler veya kalite izleyicileri gibi dağıtılan kaynaklarda tüm zamanlamaları ve tetikleyicileri duraklatır. olarak ayarlayarak
schedule.pause_status
UNPAUSED
tek bir iş için zamanlamaları ve tetikleyicileri çıkarın. - Daha hızlı yineleme için tüm dağıtılan işlerde eşzamanlı çalıştırmaları etkinleştirir. olarak ayarlayarak
max_concurrent_runs
tek bir iş için eşzamanlı çalıştırmaları1
devre dışı bırakın. - Daha hızlı yineleme için dağıtım kilidini devre dışı bırakır. Bu kilit, geliştirme modunda gerçekleşme olasılığı düşük olan dağıtım çakışmalarını önler. olarak ayarlayarak
bundle.deployment.lock.enabled
true
kilidi yeniden etkinleştirin.
Üretim modu
Paketinizi üretim modunda dağıtmak için önce hedeflenen hedefe olarak ayarlanmış production
eşlemeyi eklemeniz mode
gerekir. Örneğin, adlı prod
bu hedef bir üretim hedefi olarak değerlendirilir:
targets:
prod:
mode: production
komutunu çalıştırarak bir hedefi üretim modunda dağıtmak databricks bundle deploy -t <target-name>
aşağıdaki davranışları uygular:
Tüm ilgili dağıtılan Delta Live Tables işlem hatlarının olarak
development: false
iş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
, veyaroot_path
state_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 vepermissions
eşlemelerinin belirtildiğini doğrular.
Eşlemeyi
mode
development
olarak ayarlamak için önceki davranışın aksine, eşlemeyimode
olarak ayarlamak, örneğin seçeneğini veyacompute_id
eşlemeyiproduction
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.
Özel ön ayarlar
Databricks Varlık Paketleri, hedefler için yapılandırılabilir ön ayarları destekler ve bu sayede hedefler için davranışları özelleştirebilirsiniz. Kullanılabilir ön ayarlar aşağıdaki tabloda listelenmiştir:
Önceden ayarlanmış | Açıklama |
---|---|
name_prefix |
Kaynak adlarına ön ek olarak kullanılacak ön ek dizesi. |
pipelines_development |
İşlem hattının geliştirme modunda olup olmadığı. Geçerli değerler true veya false şeklindedir. |
trigger_pause_status |
Tüm tetikleyicilere ve zamanlamalara uygulanacak duraklatma durumu. Geçerli değerler PAUSED veya UNPAUSED şeklindedir. |
jobs_max_concurrent_runs |
İşler için izin verilen en fazla eşzamanlı çalıştırma sayısı. |
tags |
İşleri ve denemeleri içeren etiketleri destekleyen tüm kaynaklara uygulanan anahtar:değer etiketleri kümesi. Databricks Varlık Paketleri, kaynağın schema etiketlerini desteklemez. |
Not
Hem hem de mode
presets
ayarlanırsa, ön ayarlar varsayılan mod davranışını geçersiz kılar ve tek tek kaynakların ayarları da ön ayarları geçersiz kılar. Örneğin, bir zamanlama olarak UNPAUSED
ayarlanmışsa ancak trigger_pause_status
ön ayar olarak ayarlanmışsa PAUSED
, zamanlama duraklatılmamıştır.
Aşağıdaki örnekte adlı dev
hedef için özel ön ayarlar yapılandırması gösterilmektedir:
targets:
dev:
presets:
name_prefix: "testing_" # prefix all resource names with testing_
pipelines_development: true # set development to true for pipelines
trigger_pause_status: PAUSED # set pause_status to PAUSED for all triggers and schedules
jobs_max_concurrent_runs: 10 # set max_concurrent runs to 10 for all jobs
tags:
department: finance