Databricks Varlık Paketleri geliştirme
Bu makalede Databricks Varlık Paketi geliştirme ve yaşam döngüsü açıklanmaktadır. Databricks Varlık Paketleri hakkında genel bilgi için bkz . Databricks Varlık Paketleri nedir?.
Bir paketin yaşam döngüsü
Paketleri etkili bir şekilde kullanmayı anlamak için bir paketin temel yaşam döngüsünü anlamanız gerekir:
- Paket iskeleti bir projeye göre oluşturulur .
- Paket projesi yerel olarak geliştirilmiştir. Paket, dağıtım hedefleri gibi altyapı ve çalışma alanı ayarlarını, işler ve işlem hatları gibi Databricks kaynaklarının ayarlarını ve kaynak dosyaları ve diğer yapıtları tanımlayan yapılandırma dosyalarını içerir.
- Paket projesi doğrulanır. Doğrulama, paketin Databricks'e dağıtılabilir olduğundan emin olmak için paket yapılandırmasındaki ayarları ve kaynak tanımlarını ilgili nesne şemalarına göre doğrular.
- Paket bir hedef çalışma alanına dağıtılır. En yaygın olarak bir paket, test için önce kullanıcının kişisel geliştirme çalışma alanına dağıtılır. Paketin testi tamamlandıktan sonra paket hazırlamaya ve ardından üretim hedeflerine dağıtılabilir.
- Dağıtılan pakette tanımlanan iş akışı kaynakları çalıştırılabilir. Örneğin, bir iş çalıştırabilirsiniz.
- Paket artık kullanılmıyorsa kalıcı olarak yok edilebilir.
Databricks CLI paket komutlarını, aşağıdaki bölümlerde açıklandığı gibi paketleri oluşturmak, doğrulamak, dağıtmak, çalıştırmak ve yok etmek için kullanırsınız.
1. Adım: Paket oluşturma
Paket oluşturmaya başlamanın üç yolu vardır:
- Varsayılan paket şablonunu kullanın.
- Özel paket şablonu kullanın.
- El ile paket oluşturun.
Varsayılan paket şablonunu kullanma
Azure Databricks varsayılan paket şablonunu kullanarak daha sonra özelleştirebileceğiniz bir başlangıç paketi oluşturmak için Databricks CLI sürüm 0.218.0 veya üzerini kullanarak komutu çalıştırın bundle init
ve kullanılabilir şablonlar listesinden seçim yapabilirsiniz. Bkz. Proje şablonundan paket oluşturma.
databricks bundle init
Varsayılan paket şablonlarının kaynağını databricks/cli ve databricks/mlops-stacks Github genel depolarında görüntüleyebilirsiniz.
2. Adım: Paket yapılandırma dosyalarını doldurma bölümüne geçin.
Özel paket şablonu kullanma
Azure Databricks varsayılan paket şablonu dışında bir paket şablonu kullanmak için yerel yolu veya uzak paket şablonu konumunun URL'sini bilmeniz gerekir. Komutu aşağıdaki gibi çalıştırmak için Databricks CLI sürüm 0.218.0 veya üzerini bundle init
kullanın:
databricks bundle init <project-template-local-path-or-url>
Bu komut hakkında daha fazla bilgi için bkz . Databricks Varlık Paketi proje şablonları. Belirli bir paket şablonu hakkında bilgi için paket şablonu sağlayıcısının belgelerine bakın.
2. Adım: Paket yapılandırma dosyalarını doldurma bölümüne geçin.
El ile paket oluşturma
Paket şablonu kullanmak yerine el ile paket oluşturmak için yerel makinenizde bir proje dizini veya üçüncü taraf Git sağlayıcısına sahip boş bir depo oluşturun.
Dizininizde veya deponuzda giriş olarak bir veya daha fazla paket yapılandırma dosyası oluşturun. Bu dosyalar YAML biçiminde ifade edilir. adlı databricks.yml
en az bir (ve yalnızca bir) paket yapılandırma dosyası olmalıdır. Ek paket yapılandırma dosyalarına dosyanın eşlemesinde include
databricks.yml
başvurulmalıdır.
Databricks Varlık Paketi yapılandırma söz dizimine uyan YAML dosyalarını daha kolay ve hızlı bir şekilde oluşturmak için Visual Studio Code, PyCharm Professional veya IntelliJ IDEA Ultimate gibi YAML dosyaları ve JSON şema dosyaları için destek sağlayan bir aracı aşağıdaki gibi kullanabilirsiniz:
Visual Studio Code
Örneğin Visual Studio Code Market'ten YAML uzantısını yükleyerek Visual Studio Code'a YAML dil sunucusu desteği ekleyin.
Databricks CLI sürüm 0.218.0 veya üzerini kullanarak Databricks Varlık Paketi yapılandırma JSON şema dosyasını oluşturarak komutu çalıştırın
bundle schema
ve çıkışı bir JSON dosyasına yönlendirin. Örneğin, aşağıdaki gibi geçerli dizinde adlıbundle_config_schema.json
bir dosya oluşturun:databricks bundle schema > bundle_config_schema.json
Geçerli dizinde bir paket yapılandırma dosyası oluşturmak veya açmak için Visual Studio Code'u kullanın. Bu dosya olarak adlandırılmalıdır
databricks.yml
.Paket yapılandırma dosyanızın başına aşağıdaki açıklamayı ekleyin:
# yaml-language-server: $schema=bundle_config_schema.json
Not
Önceki açıklamadaki Databricks Varlık Paketi yapılandırma JSON şema dosyanız farklı bir yoldaysa değerini şema dosyanızın tam yoluyla değiştirin
bundle_config_schema.json
.Daha önce eklediğiniz YAML dil sunucusu özelliklerini kullanın. Daha fazla bilgi için YAML dil sunucunuzun belgelerine bakın.
PyCharm Professional
Databricks CLI sürüm 0.218.0 veya üzerini kullanarak Databricks Varlık Paketi yapılandırma JSON şema dosyasını oluşturarak komutu çalıştırın
bundle schema
ve çıkışı bir JSON dosyasına yönlendirin. Örneğin, aşağıdaki gibi geçerli dizinde adlıbundle_config_schema.json
bir dosya oluşturun:databricks bundle schema > bundle_config_schema.json
PyCharm'ı paket yapılandırması JSON şema dosyasını tanıyacak şekilde yapılandırın ve ardından Özel JSON şeması yapılandırma başlığındaki yönergeleri izleyerek JSON şema eşlemesini tamamlayın.
Paket yapılandırma dosyası oluşturmak veya açmak için PyCharm kullanın. Bu dosya olarak adlandırılmalıdır
databricks.yml
. Siz yazarken, PyCharm JSON şeması söz dizim ve biçimlendirmesini denetler ve kod tamamlama ipuçları sağlar.
IntelliJ IDEA Ultimate
Databricks CLI sürüm 0.218.0 veya üzerini kullanarak Databricks Varlık Paketi yapılandırma JSON şema dosyasını oluşturarak komutu çalıştırın
bundle schema
ve çıkışı bir JSON dosyasına yönlendirin. Örneğin, aşağıdaki gibi geçerli dizinde adlıbundle_config_schema.json
bir dosya oluşturun:databricks bundle schema > bundle_config_schema.json
IntelliJ IDEA'yı paket yapılandırması JSON şema dosyasını tanıyacak şekilde yapılandırın ve ardından Özel JSON şeması yapılandırma başlığındaki yönergeleri izleyerek JSON şema eşlemesini tamamlayın.
Paket yapılandırma dosyası oluşturmak veya açmak için IntelliJ IDEA kullanın. Bu dosya olarak adlandırılmalıdır
databricks.yml
. Siz yazarken IntelliJ IDEA, JSON şeması söz dizim ve biçimlendirmesini denetler ve kod tamamlama ipuçları sağlar.
2. Adım: Paket yapılandırma dosyalarını doldurma
Paket yapılandırma dosyaları çalışma alanı ayrıntıları, yapıt adları, dosya konumları, iş ayrıntıları ve işlem hattı ayrıntıları gibi ayarları belirterek Azure Databricks iş akışlarınızı tanımlar. Paket yapılandırması genellikle geliştirme, hazırlama ve üretim dağıtım hedeflerini de içerir. Paket yapılandırma dosyaları hakkında ayrıntılı bilgi için bkz . Databricks Varlık Paketi yapılandırması.
Komutunu kullanarak bundle generate
çalışma alanında var olan bir kaynak için paket yapılandırmasını otomatik olarak oluşturabilir ve ardından bundle deployment bind
paket yapılandırmasını çalışma alanında bulunan kaynağa bağlayarak bunları eşitlenmiş durumda tutabilirsiniz. Bkz . Paket yapılandırma dosyası oluşturma ve Paket kaynaklarını bağlama.
3. Adım: Paket yapılandırma dosyalarını doğrulama
Yapıtları dağıtmadan veya bir iş veya işlem hattı çalıştırmadan önce, paket yapılandırma dosyalarınızdaki tanımların geçerli olduğunu doğrulamanız gerekir. Bunu yapmak için paket projesi kök dizininden komutunu çalıştırın bundle validate
. Bkz . Paketi doğrulama.
databricks bundle validate
Doğrulama başarılı olursa paket kimliğinin özeti ve bir onay iletisi döndürülür. Şemanın çıktısını almak için komutunu kullanın databricks bundle schema
. Bkz . Paket yapılandırma şemasını görüntüleme.
4. Adım: Paketi dağıtma
Paketi dağıtmadan önce uzak çalışma alanında çalışma alanı dosyalarının etkinleştirildiğinden emin olun. Bkz . Çalışma alanı dosyaları nedir?.
Bir paketi uzak bir çalışma alanına dağıtmak için Paket dağıtma bölümünde açıklandığı gibi paket kökünden komutunu çalıştırınbundle deploy
. Databricks CLI, paket yapılandırma dosyaları içinde bildirilen hedef çalışma alanına dağıtılır. Hedefleri görün.
databricks bundle deploy
Bir paketin benzersiz kimliği adı, hedefi ve dağıtanın kimliğiyle tanımlanır. Bu öznitelikler farklı paketlerde aynıysa, bu paketlerin dağıtımı birbiriyle karışacaktır. Ek ayrıntılar için bkz . Paket dağıtma.
İpucu
Ortam değişkenini ayarlayarak BUNDLE_ROOT
komutları paket kökü dışında çalıştırabilirsinizdatabricks bundle
. Bu ortam değişkeni ayarlanmadıysa, databricks bundle
komutlar geçerli çalışma dizininde arama yaparak paket kökünü bulmaya çalışır.
5. Adım: Paketi çalıştırma
Belirli bir işi veya işlem hattını çalıştırmak için paket kökünden komutunu çalıştırın bundle run
ve paket yapılandırma dosyalarında bildirilen işi veya işlem hattı anahtarını Paket çalıştırma bölümünde açıklandığı gibi belirtin. Kaynak anahtarı, kaynağın YAML bloğunun en üst düzey öğesidir. bir iş veya işlem hattı anahtarı belirtmezseniz, kullanılabilir kaynaklar listesinden çalıştırılacak kaynağı seçmeniz istenir. -t
Seçenek belirtilmezse, paket yapılandırma dosyalarında bildirilen varsayılan hedef kullanılır. Örneğin, varsayılan hedef bağlamında anahtarla hello_job
bir iş çalıştırmak için:
databricks bundle run hello_job
adlı dev
bir hedef bağlamında anahtarla hello_job
bir iş çalıştırmak için:
databricks bundle run -t dev hello_job
6. Adım: Paketi yok etme
Paketinizle işiniz bittiyse ve daha önce dağıtılan işleri, işlem hatlarını ve yapıtları silmek istiyorsanız, komutunu paket kökünden çalıştırın bundle destroy
. Bu 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. Bkz . Paketi yok etme.
databricks bundle destroy
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
.