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.
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 sürüm 0.279.0 ve üzeri iki farklı dağıtım altyapısını destekler: terraform ve direct. Doğrudan dağıtım altyapısı önemli avantajlar sağlar ve Terraform'a bağımlı değildir.
Databricks CLI sürüm 1.3.0 ve üzeri kullanılarak oluşturulan yeni paketler varsayılan olarak doğrudan dağıtım altyapısını kullanır. CLI'nın önceki sürümleri kullanılarak oluşturulan paketler, bu sayfada açıklanan geçiş adımları kullanılarak Terraform dağıtım altyapısından doğrudan dağıtım altyapısına geçirilebilir.
Önemli
Terraform dağıtım altyapısı yakında kullanımdan kaldırılacağı ve doğrudan dağıtım altyapısı varsayılan hale geleceği için Databricks doğrudan altyapıya geçiş yapmanızı önerir. Bkz . Bildirim temelli Otomasyon Paketleri yakında varsayılan olarak doğrudan dağıtım altyapısını kullanacak.
Doğrudan dağıtım avantajları
Yeni doğrudan dağıtım altyapısı Databricks Go SDK'sını kullanır ve aşağıdaki avantajlara sahiptir:
- Daha hızlı dağıtımlar: Paket dağıtımları en fazla 40% daha hızlıdır.
-
Daha güçlü ve ayrıntılı doğrulama ve planlama:
bundle plan -o jsonkullanılarak yapılan değişikliklerin ayrıntılı fark dökümleri, belirli bir eylemi neyin tetiklediğini açıklayan alan bazında ayrıntılar sunan raporlar. -
Yeniden yürütülebilir planlar:
bundle deploy --plan plan.jsonPlan hesaplaması atlandığından yalnızca onaylanan eylemlerin üretime ve daha hızlı dağıtımlara ulaşmasını sağlayarak daha önce oluşturulmuş bir planı yürütür. - Basit kurulum: Güvenlik duvarları, proxy'ler ve özel sağlayıcı kayıt defterleriyle ilgili sorunlardan kaçınılır.
- Daha fazla kaynak: Kataloglar, dış konumlar, Yapay Zeka Arama uç noktaları ve Genie alanları gibi ek kaynaklar desteklenir.
- Sabit klasörler: Varlıklar, değişiklik koruması ve dağıtım tutarlılığı için isteğe bağlı olarak sabit, salt okunur bir klasöre dağıtılabilir. Bkz. immutable_folder.
Doğrudan dağıtımı kullanmaya başlama
Yeni doğrudan dağıtım altyapısını kullanmaya başlamak için:
- Mevcut paketleri
databricks bundle deployment migratekullanarak geçirin. Bkz. Mevcut bir paketi taşıma. - Yeni veya mevcut paketler için, paket yapılandırmanızda
engine: directdeğerini ayarlayın veyaDATABRICKS_BUNDLE_ENGINEortam değişkeninidirectolarak ayarlayın. Bkz. Yeni bir paketi doğrudan dağıtma.
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_targetNote
Databricks CLI sürümleri 0.280.0'dan 1.4.x'e kadar,
bundle deployment migrateplan herhangi bir işlem bildirirse göçü çalıştırırbundle planve durdurur. Bu durumda, yeniden dağıtın ve göçü tekrar deneyin. Yine de başarısız olursa, plan kontrolünü atlayabilirsiniz.--noplancheckGeçişin başarılı olduğunu doğrulayın. Çalıştır
databricks bundle plan, başarılı olmalı ve hiçbir işlem bildirmemeli.databricks bundle plan -t my_targetNote
Yerel yapılandırmanız dağıtılan kaynakla eşleşse bile plan kaynaklardaki değişiklikleri bildirebilir. Bunun nedeni, önceki Terraform durum dosyasının dağıtımdan sonra platformun doldurdığı meta veri alanlarını içermesi ve paket yapılandırmanızda mevcut olmaması olabilir. Bu farklılıklar gerçek yapılandırma kayması değildir ve iş davranışını değiştirmez. Doğrudan motor, bunları bir sonraki
bundle deployüzerinde uzlaştırır. Doğrudan motorun farkları nasıl hesapladığına ilişkin ayrıntılar için bkz. Kaynak durumu farkı hesaplaması.Doğ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.
Dağıtım motoru karşılaştırması
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.
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.
Yapılandırma ayarları kaldırıldı
İki altyapı, paket yapılandırmanızdan kaldırdığınız ayarları farklı şekilde işler:
- Terraform motoruyla,
databricks.ymlöğenizden bir küme alanını kaldırdığınızda platformdaki ilgili değer değişmeden kalır. Terraform yalnızca yapılandırmada açıkça mevcut olan alanları yönetir, bu nedenle kaldırılan bir alan son dağıtım sırasında sahip olduğu değeri korur. - Doğrudan altyapıda,
databricks.ymlöğenizden ayarlanmış bir alanı kaldırmak, değeri kaynağın varsayılan değerine döndürür. Doğrudan altyapı yerel yapılandırmanızı önceki anlık görüntüyle karşılaştırdığından, artık mevcut olmayan bir alan bir değişiklik olarak değerlendirilir ve kaynak bir sonraki dağıtımda varsayılan değerine güncelleştirilir.
Bir değeri kalıcı hale getirmek için, daha önce dağıtılan değere güvenmek yerine bunu yapılandırmanızda açıkça ayarlayın.
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:
- Unity Catalog katalogları
- Unity Kataloğu dış konumları
- Unity Kataloğu sırları
- Genie alanları
- Örnek kümesi
- Yapay Zeka 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ü.