Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Bu özellik Genel Önizleme aşamasındadır.
Bildirim temelli Otomasyon Paketleri başlangıçta dağıtımları yönetmek için Databricks Terraform sağlayıcısının üzerine kurulmuştur. Ancak Databricks CLI 0.279.0 ve üzeri sürümleri bu bağımlılıktan uzaklaşmak için iki farklı dağıtım altyapısını destekler: terraform ve direct. Doğrudan dağıtım altyapısı Terraform'a bağlı değildir. Terraform dağıtım altyapısı er ya da geç kullanımdan kaldırılacak ve doğrudan dağıtım altyapısı varsayılan olacak.
Doğrudan dağıtımın avantajları nelerdir?
Yeni doğrudan dağıtım altyapısı Databricks Go SDK'sını kullanır ve aşağıdaki avantajları sağlar:
- Terraform ve
terraform-provider-databricksdağıtımdan önce indirilmeye gerek yok. - Güvenlik duvarları, ara sunucular ve özel sağlayıcı kayıt defterleriyle ilgili sorunları önler
-
bundle plan -o jsonkullanarak yapılabilen değişikliklerin ayrıntılı farkları - Daha hızlı dağıtım
- Yeni paket kaynaklarının yayınlanma süresi, Terraform sağlayıcı sürümü ile uyumlu hale getirilmesine gerek olmadığından azaldı.
Doğrudan dağıtımı kullanmaya nasıl başlayabilirim?
Yeni doğrudan dağıtım altyapısını kullanmaya başlamak için:
- Mevcut paketleri
databricks bundle deployment migratekullanarak geçirin. - Yeni paketleri, ortam değişkeni
DATABRICKS_BUNDLE_ENGINEolarakdirectşekilde ayarlayıp dağıtın.
Mevcut bir paketi taşıma
Doğrudan dağıtım altyapısı kendi JSON durum dosyasını kullanır. Şema Terraform JSON durum dosyasından farklıdır. komutu, bundle deployment migrate Terrform durum dosyasını (terraform.tfstate) doğrudan dağıtım durumu dosyasına (resources.json ) dönüştürür. komutu, mevcut dağıtımdaki kimlikleri okur.
Terraform ile tam dağıtım gerçekleştirin:
databricks bundle deploy -t my_targetDağıtımı taşıyın.
databricks bundle deployment migrate -t my_targetGeçişin başarılı olduğunu doğrulayın. Komutun
databricks bundle planbaşarılı olması ve hiçbir değişiklik göstermemesi gerekir.databricks bundle plan -t my_targetDoğrulama başarısız olursa yeni durum dosyasını kaldırın:
rm .databricks/bundle/my_target/resources.jsonDoğrulama başarılı olursa, durum dosyasını çalışma alanına eşitlemek için paketi dağıtın:
databricks bundle deploy -t my_target
Yeni bir paketi doğrudan dağıtma
Komut bundle migrate , hiçbir durum dosyası olmadığından hiç dağıtılmayan paketlerde çalışmaz. Bunun yerine aşağıdakilerden birini yapın:
"databricks.yml dosyanızda
bundle.engineayarlayın."bundle: engine: directOrtam değişkenini ayarlayın ve dağıtın
DATABRICKS_BUNDLE_ENGINE:DATABRICKS_BUNDLE_ENGINE=direct databricks bundle deploy -t my_target
Hem yapılandırma hem de ortam değişkeni ayarlanırsa, yapılandırma önceliklidir.
Doğrudan dağıtım altyapısındaki değişiklikler nelerdir?
Yeni doğrudan dağıtım altyapısı çoğunlukla Terrform dağıtım altyapısıyla aynı şekilde davranır, ancak bazı farklılıklar vardır. Özellikle, doğrudan mekanizma kaynakların yerel ve uzak durumunu ayrı ayrı izler ve kaynak ikame işlemlerini iki aşamada çözer.
Kaynak durumu fark hesaplaması
Tek bir kaynak durumunu (yerel yapılandırma ve uzak durumun bir karışımı) koruyan Terraform'un aksine, yeni altyapı bu yapılandırmaları ayrı tutar ve yalnızca yerel yapılandırmayı kendi durum dosyasında kaydeder.
Kaynak durumu fark hesaplaması iki adımda yapılır:
- Yerel paket yapılandırması, en son dağıtım için kullanılan anlık görüntü yapılandırmasıyla karşılaştırılır. Uzak durum rol oynamaz.
- Uzak durum, en son dağıtım için kullanılan anlık görüntü yapılandırmasıyla karşılaştırılır.
Sonuç şudur:
-
databricks.ymlkaynak değişiklikleri asla yoksayılmaz ve her zaman bir güncelleştirme tetikler. - Uygulama tarafından işlenmeyen kaynak alanları tutarsız bir sonuç hatası tetiklemez. Bu kaynaklar doğrudan motor tarafından başarıyla dağıtılır, ancak bu bir drift'e neden olabilir. Dağıtılan kaynaklar bir sonraki plan veya dağıtım sırasında güncelleştirilir.
Kaynak değiştirme araması
Kaynak değiştirmeleri, kaynak kimliklerini çözümlemek için kullanılabilir; örneğin, ${resources.jobs.my_job.id}. Bkz. Değiştirmeler. Doğrudan dağıtım altyapısındaki kaynak değiştirmelerinin çözümü iki adımda gerçekleştirilir:
- Yerel yapılandırmada bulunan alanlara işaret eden başvurular, yerel yapılandırmada sağlanan değere çözümlenir.
- Yerel yapılandırmada bulunmayan başvurular uzak durum verisinden çözümlenir. Bu, belirli bir kaynak için uygun
GETistek kullanılarak getirilen durumdur.
Değiştirme işlemini çözümlemek ${resource.*} için kullanılan şema out.fields.txtdosyasındadır. ve ALL olarak STATE işaretlenen alanlar yerel çözümleme için kullanılabilir.
ALL veya REMOTE olarak işaretlenen alanlar uzaktan çözünürlük için kullanılabilir.
Kaynak uyumluluğu
Aşağıdaki kaynaklar doğrudan dağıtım altyapısını gerektirir ve Terraform dağıtım altyapısıyla desteklenmez:
- kataloglar (Unity Kataloğu)
- dış konumlar (Unity Kataloğu)
- vektör arama uç noktaları
Buna ek olarak, lifecycle.started alanı yalnızca doğrudan dağıtım motorunda ve yalnızca apps, clusters ve sql_warehouses için kullanılabilir.
true olarak ayarlandığında, kaynağı başlatılmış modda dağıtır. Bkz . yaşam döngüsü.