Databricks Varlık Paketleri nedir?

Databricks Varlık Paketleri (DABs), verileriniz ve yapay zeka projeleriniz için kaynak denetimi, kod gözden geçirme, test ve sürekli tümleştirme ve teslim (CI/CD) gibi yazılım mühendisliği en iyi uygulamalarının benimsenmesini kolaylaştıran bir araçtır. Paketler, işler, işlem hatları ve not defterleri gibi Databricks kaynaklarını kaynak dosya olarak tanımlamayı mümkün hale getirir. Bu kaynak dosyalar, projenin nasıl yapılandırılması, test edilmesi ve dağıtılması gerektiği dahil olmak üzere uçtan uca bir tanım sağlar ve bu da etkin geliştirme sırasında projeler üzerinde işbirliği yapmayı kolaylaştırır.

Paketler, projenizin kaynak dosyalarına meta verileri dahil etmek için bir yol sağlar. Paketleri kullanarak bir proje dağıttığınızda, bu meta veriler altyapıyı ve diğer kaynakları sağlamak için kullanılır. Projenizin kaynak dosya ve meta veri koleksiyonu, hedef ortamınıza tek bir paket olarak dağıtılır. Paket aşağıdaki bölümleri içerir:

  • Gerekli bulut altyapısı ve çalışma alanı yapılandırmaları
  • İş mantığını içeren not defterleri ve Python dosyaları gibi kaynak dosyalar
  • Azure Databricks işleri, Delta Live Tables işlem hatları, Model Sunma uç noktaları, MLflow Denemeleri ve MLflow kayıtlı modelleri gibi Databricks kaynakları için tanımlar ve ayarlar
  • Birim testleri ve tümleştirme testleri

Aşağıdaki diyagram, bir geliştirme ve CI/CD işlem hattının paketlerle üst düzey bir görünümünü sağlar:

Databricks Varlık Paketlerine genel bakış

Databricks Varlık Paketlerini ne zaman kullanmalıyım?

Databricks Varlık Paketleri, Databricks projelerinizi yönetmeye yönelik bir kod olarak altyapı (IaC) yaklaşımıdır. Birden çok katkıda bulunan ve otomasyonun gerekli olduğu ve sürekli tümleştirme ve dağıtımın (CI/CD) bir gereksinim olduğu karmaşık projeleri yönetmek istediğinizde bunları kullanın. Paketler YAML şablonları ve kaynak koduyla birlikte oluşturup bakımını yaptığınız dosyalar aracılığıyla tanımlanıp yönetildiğinden, IaC'nin uygun bir yaklaşım olduğu senaryolarla iyi eşlenir.

Paketler için bazı ideal senaryolar şunlardır:

  • Ekip tabanlı bir ortamda veri, analiz ve ML projeleri geliştirin. Paketler çeşitli kaynak dosyaları verimli bir şekilde düzenlemenize ve yönetmenize yardımcı olabilir. Bu, sorunsuz işbirliği ve kolaylaştırılmış süreçler sağlar.
  • ML sorunlarını daha hızlı yineler. Başlangıçtan itibaren en iyi üretim yöntemlerini izleyen ML projelerini kullanarak ML işlem hattı kaynaklarını (eğitim ve toplu çıkarım işleri gibi) yönetin.
  • Varsayılan izinleri, hizmet sorumlularını ve CI/CD yapılandırmalarını içeren özel paket şablonları yazarak yeni projeler için kuruluş standartlarını ayarlayın.
  • Mevzuat uyumluluğu: Mevzuat uyumluluğunun önemli bir sorun olduğu sektörlerde paketler, kod ve altyapı çalışmalarının sürümleştirilmiş geçmişinin korunmasına yardımcı olabilir. Bu, idareye yardımcı olur ve gerekli uyumluluk standartlarının karşılanmasını sağlar.

Databricks Varlık Paketleri nasıl çalışır?

Paket meta verileri, Databricks projesinin yapıtlarını, kaynaklarını ve yapılandırmasını belirten YAML dosyaları kullanılarak tanımlanır. Bu YAML dosyasını el ile oluşturabilir veya paket şablonu kullanarak oluşturabilirsiniz. Databricks CLI daha sonra bu paket YAML dosyalarını kullanarak paketleri doğrulamak, dağıtmak ve çalıştırmak için kullanılabilir. Paket projelerini IDE'lerden, terminallerden veya Databricks'ten doğrudan çalıştırabilirsiniz. Bu makalede Databricks CLI kullanılmaktadır.

Paketler el ile veya şablon temelinde oluşturulabilir. Databricks CLI basit kullanım örnekleri için varsayılan şablonlar sağlar, ancak daha özel veya karmaşık işler için ekibinizin en iyi yöntemlerini uygulamak ve ortak yapılandırmaların tutarlı kalmasını sağlamak için özel paket şablonları oluşturabilirsiniz.

Databricks Varlık Paketlerini ifade etmek için kullanılan YAML yapılandırması hakkında daha fazla bilgi için bkz . Databricks Varlık Paketi yapılandırması.

Ortamınızı paketleri kullanacak şekilde yapılandırma

Komut satırından paketleri kolayca dağıtmak için Databricks CLI'yi kullanın. Databricks CLI'yı yüklemek için bkz . Databricks CLI'yı yükleme veya güncelleştirme.

Databricks Varlık Paketleri, Databricks CLI sürüm 0.218.0 veya üzeri sürümlerde kullanılabilir. Databricks CLI'nın yüklü sürümünü bulmak için aşağıdaki komutu çalıştırın:

databricks --version

Databricks CLI'yı yükledikten sonra uzak Databricks çalışma alanlarınızın doğru yapılandırıldığını doğrulayın. Bu özellik ve .yml dosyaları gibi .py Databricks Not Defterleri dışındaki dosyalarla çalışmayı desteklediğinden paketlerde çalışma alanı dosyaları özelliğinin etkinleştirilmesi gerekir. Databricks Runtime sürüm 11.3 LTS veya üzerini kullanıyorsanız, bu özellik varsayılan olarak etkindir.

Kimlik Doğrulaması

Azure Databricks çeşitli kimlik doğrulama yöntemleri sağlar:

  • Hedef Azure Databricks çalışma alanınızda oturum açmak için web tarayıcınızı kullandığınız el ile gerçekleştirilen iş akışları (Databricks CLI tarafından istendiğinde) gibi katılımlı kimlik doğrulama senaryoları için OAuth kullanıcıdan makineye (U2M) kimlik doğrulamasını kullanın. Bu yöntem, Databricks Varlık Paketleri için başlangıç öğreticilerini denemek veya paketlerin hızlı bir şekilde geliştirilmesi için idealdir.
  • Hedef Azure Databricks çalışma alanınızda oturum açmak için web tarayıcınızı kullanma fırsatınızın olmadığı tam otomatik iş akışları gibi katılımsız kimlik doğrulama senaryoları için OAuth makineden makineye (M2M) kimlik doğrulamasını kullanın. Bu yöntem Azure Databricks hizmet sorumlularının kullanılmasını gerektirir ve Databricks Varlık Paketlerini GitHub gibi CI/CD sistemleriyle kullanmak için idealdir.

OAuth U2M kimlik doğrulaması için aşağıdakileri yapın:

  1. Her hedef çalışma alanı için aşağıdaki komutu çalıştırarak yerel olarak OAuth belirteci yönetimini başlatmak için Databricks CLI'sini kullanın.

    Aşağıdaki komutta değerini çalışma alanı başına Azure Databricks URL'nizle değiştirin<workspace-url>, örneğinhttps://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI, Azure Databricks yapılandırma profili olarak girdiğiniz bilgileri kaydetmenizi ister. Önerilen profil adını kabul etmek için basın Enter veya yeni veya mevcut bir profilin adını girin. Girdiğiniz bilgilerle aynı ada sahip mevcut tüm profillerin üzerine yazılır. Birden çok çalışma alanında kimlik doğrulama bağlamınızı hızla değiştirmek için profilleri kullanabilirsiniz.

    Mevcut profillerin listesini almak için, ayrı bir terminalde veya komut isteminde Databricks CLI'yi kullanarak komutunu databricks auth profilesçalıştırın. Belirli bir profilin mevcut ayarlarını görüntülemek için komutunu databricks auth env --profile <profile-name>çalıştırın.

  3. Web tarayıcınızda, Azure Databricks çalışma alanınızda oturum açmak için ekrandaki yönergeleri tamamlayın.

  4. Profilin geçerli OAuth belirteci değerini ve belirtecin yaklaşan süre sonu zaman damgasını görüntülemek için aşağıdaki komutlardan birini çalıştırın:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Aynı --host değere sahip birden çok profiliniz varsa Databricks CLI'sının --host doğru eşleşen OAuth belirteci bilgilerini bulmasına yardımcı olmak için ve -p seçeneklerini birlikte belirtmeniz gerekebilir.

Bu yapılandırma profilinin adını, paketleri doğruladığınızda, dağıttığınızda, çalıştırdığınızda veya yok ettiğiniz her durumda aşağıdaki yöntemlerden birinde veya birden fazlasında kullanabilirsiniz:

  • komut satırı seçeneğiyle -p <profile-name>, , databricks bundle deploydatabricks bundle runveya databricks bundle destroykomutlarına databricks bundle validateeklenir. Bkz . Databricks Varlık Paketleri geliştirme.
  • Paket yapılandırma dosyasının üst düzey eşlemesinde eşlemenin profile değeri olarak (Databricks eşleme kümesini eşleme yerine profile Azure Databricks çalışma alanının URL'sine kullanmanızı host önerir, çünkü paket yapılandırma dosyalarınızı daha taşınabilir hale getirir).workspace Çalışma alanında eşlemenin kapsamına profile bakın.
  • Yapılandırma profilinin adı iseDEFAULT, komut satırı seçeneği -p <profile-name> veya (veya profile host) eşlemesi belirtilmediğinde varsayılan olarak kullanılır.

OAuth M2M kimlik doğrulaması için aşağıdakileri yapın:

  1. OAuth M2M kimlik doğrulaması kurulum yönergelerini tamamlayın. Bkz . OAuth (OAuth M2M) kullanarak hizmet sorumlusuyla Azure Databricks'e erişimin kimliğini doğrulama.

  2. Databricks CLI'sini aşağıdaki yollardan biriyle hedef işlem kaynağına yükleyin:

    • Databricks CLI'sini işlem kaynağına gerçek zamanlı olarak el ile yüklemek için bkz . Databricks CLI'yi yükleme veya güncelleştirme.
    • GitHub Actions'ı kullanarak Databricks CLI'yi bir GitHub sanal makinesine otomatik olarak yüklemek için bkz . GitHub'da setup-cli .
    • Databricks CLI'yı bir sanal makineye otomatik olarak yüklemek üzere diğer CI/CD sistemlerini kullanmak için CI/CD sistem sağlayıcınızın belgelerine bakın ve Databricks CLI'yı yükleme veya güncelleştirme.
  3. İşlem kaynağında aşağıdaki ortam değişkenlerini aşağıdaki gibi ayarlayın:

    • DATABRICKS_HOST, çalışma alanı başına Azure Databricks URL'sine ayarlayın, örneğin https://adb-1234567890123456.7.azuredatabricks.net.
    • DATABRICKS_CLIENT_IDdeğerini Azure Databricks hizmet sorumlusunun Uygulama Kimliği değerine ayarlayın.
    • DATABRICKS_CLIENT_SECRETdeğerini Azure Databricks hizmet sorumlusunun OAuth Gizli Anahtarı değerine ayarlayın.

    Bu ortam değişkenlerini ayarlamak için hedef işlem kaynağınızın işletim sistemi veya CI/CD sistemi belgelerine bakın.

İlk Databricks Varlık Paketinizi geliştirme

Paket geliştirmeye başlamanın en hızlı yolu paket proje şablonu kullanmaktır. Databricks CLI bundle init komutunu kullanarak ilk paket projenizi oluşturun. Bu komut, Databricks tarafından sağlanan varsayılan paket şablonlarının seçimini sunar ve proje değişkenlerini başlatmak için bir dizi soru sorar.

databricks bundle init

Paketinizi oluşturmak, bir paketin yaşam döngüsünün ilk adımıdır. İkinci adım, ve kaynak yapılandırma dosyalarında databricks.yml paket ayarlarını ve kaynaklarını tanımlayan önemli bir öğesi olan paketinizi geliştirmektir. Paket yapılandırması hakkında bilgi için bkz . Databricks Varlık Paketi yapılandırması.

İpucu

Paket yapılandırma örnekleri, Paket yapılandırma örnekleri ve GitHub'daki Paket örnekleri deposunda bulunabilir.

Sonraki adımlar