Aracılığıyla paylaş


Azure Databricks'te CI/CD

Sürekli tümleştirme ve sürekli teslim (CI/CD), otomasyon işlem hatlarının kullanımı aracılığıyla kısa ve sık döngüler halinde yazılım geliştirme ve teslim etme sürecini ifade eder. CI/CD yazılım geliştirmede yaygındır ve veri mühendisliği ve veri biliminde giderek daha fazla gerekli hale gelmektedir. Geliştirme ekipleri, kodun derlemesini, testini ve dağıtımını otomatikleştirerek sürümleri el ile gerçekleştirilen işlemlere göre daha güvenilir bir şekilde sunar.

Databricks, her kuruluşun yazılım geliştirme yaşam döngüsünün benzersiz yönleri nedeniyle kuruluştan kuruluşa biraz farklı olabilecek yaklaşımları destekleyen CI/CD işlem hatları geliştirmeye yönelik araçlar sağlar. Bu sayfada Databricks'te CI/CD işlem hatları için kullanılabilir araçlar hakkında bilgi sağlanır. CI/CD önerileri ve en iyi yöntemler hakkında ayrıntılı bilgi için bkz. Databricks'te en iyi yöntemler ve önerilen CI/CD iş akışları.

Azure Databricks'te makine öğrenmesi projelerine yönelik CI/CD'ye genel bakış için bkz . Databricks makine öğrenmesi için CI/CD'yi nasıl destekler?.

Üst düzey akış

Azure Databricks CI/CD işlem hattı için yaygın bir akış:

  1. Sürüm: Azure Databricks kodunuzu ve not defterlerinizi Git gibi bir sürüm denetim sisteminde depolayın. Bu, zaman içindeki değişiklikleri izlemenize ve diğer ekip üyeleriyle işbirliği yapmanızı sağlar.
    • Tek tek kullanıcılar, değişiklikleri bir Git deposuna işlemeden önce yazmak ve test etmek için bir Git klasörü kullanır. Databricks Git klasörleriyle CI/CD'yi inceleyin.
    • İsteğe bağlı olarak paket Git ayarlarını yapılandırın.
  2. Kod: Çalışma alanında bir Azure Databricks not defterinde veya IDE kullanarak yerel olarak kod ve birim testleri geliştirin.
  3. Derleme: Dağıtımlar sırasında belirli yapıtları otomatik olarak oluşturmak için Databricks Varlık Paketleri ayarlarını kullanın.
  4. Dağıtma: Azure DevOps, GitHub Actions veya Jenkins gibi araçlarla Databricks Varlık Paketleri'ni kullanarak Değişiklikleri Azure Databricks çalışma alanına dağıtın.
  5. Test: Kod değişikliklerinizi doğrulamak için otomatikleştirilmiş testler geliştirin ve çalıştırın.
    • Tümleştirmelerinizi test etmek için pytest gibi araçları kullanın.
  6. Çalıştırma: Azure Databricks çalışma alanlarınızdaki çalıştırmaları otomatikleştirmek için Databricks Varlık Paketleri ile Databricks CLI'sini kullanın.
  7. İzleme: İşleri izleme gibi araçları kullanarak Azure Databricks'te kodunuzun ve üretim iş yüklerinizin performansını izleyin. Bu, üretim ortamınızda ortaya çıkan sorunları belirlemenize ve çözmenize yardımcı olur.

Kullanılabilir araçlar

Aşağıdaki araçlar CI/CD çekirdek ilkelerini destekler: tüm dosyaları sürümleyin ve varlık yönetimini birleştirin, altyapıyı kod olarak tanımlayın, ortamları yalıtın, testleri otomatikleştirin ve geri almaları izleyin ve otomatikleştirin.

Alan İstediğiniz zaman bu araçları kullanın...
Databricks Varlık Paketleri CI/CD en iyi yöntemlerini ve akışlarını kullanarak Lakeflow İşleri, Lakeflow Spark Bildirimli İşlem Hatları ve MLOps Yığınları gibi kaynakları program aracılığıyla tanımlayın, dağıtın ve çalıştırın.
Databricks Terraform sağlayıcısı Terraform kullanarak Databricks çalışma alanlarını ve altyapısını sağlayın ve yönetin.
Azure Databricks'te Azure DevOps kullanarak sürekli entegrasyon ve teslimat Azure DevOps kullanan Azure Databricks için bir CI/CD işlem hattı geliştirin.
Azure Databricks'te Azure DevOps ile kimlik doğrulaması Azure DevOps ile kimlik doğrulaması.
GitHub Eylemleri CI/CD akışınıza Azure Databricks için geliştirilmiş bir GitHub Eylemi ekleyin.
Azure Databricks'te Jenkins ile CI/CD Azure Databricks için Jenkins kullanan bir CI/CD işlem hattı geliştirin.
Apache Airflow ile Lakeflow İşlerini Düzenleme Apache Airflow kullanan bir veri işlem hattını yönetin ve zamanlayın.
CI/CD için hizmet sorumluları CI/CD ile kullanıcılar yerine hizmet sorumlularını kullanın.
OAuth belirteci federasyonu kullanarak Azure Databricks'e erişimin kimliğini doğrulama CI/CD kimlik doğrulaması için iş yükü kimlik federasyonunu kullanın, böylece Databricks sırlarına ihtiyaç ortadan kalkar ve Databricks üzerinde kimlik doğrulamanın en güvenli yolu sağlanmış olur.

Databricks Varlık Paketleri

Databricks Varlık Paketleri, Databricks'te CI/CD için önerilen yaklaşımdır. Databricks Varlık Paketleri'ni kullanarak işler ve işlem hatları gibi Databricks kaynaklarını kaynak dosya olarak açıklayın ve dağıtılabilir bir projenin uçtan uca tanımını sağlamak için bunları diğer varlıklarla birlikte paketleyin. Bu dosya paketlerinde kaynak denetimi yapılabilir ve github actions gibi dış CI/CD otomasyonlarını kullanarak dağıtımları tetikleyebilirsiniz.

Paketler, tutarlılığı zorlamak için özel şablonlar ve kuruluşunuz genelinde en iyi yöntemler gibi birçok özelliği ve birçok Databricks kaynağı için kod dosyalarını ve yapılandırmayı dağıtmaya yönelik kapsamlı destek içerir. Paket yazmak için paket yapılandırma söz dizimi hakkında bilgi sahibi olmak gerekir.

CI/CD'de paketleri kullanma hakkında öneriler için bkz. Databricks'te en iyi yöntemler ve önerilen CI/CD iş akışları.

Kaynak denetimi için diğer araçlar

Databricks Varlık Paketleri ile tam CI/CD uygulamaya alternatif olarak Databricks, yalnızca kaynak denetimi ve kod dosyaları ile not defterlerini dağıtma seçenekleri sunar.

  • Git klasörü: Git klasörleri, uzak git deposunun durumunu yansıtmak için kullanılabilir. Kaynak denetimindeki kaynak dosyalarını ve not defterlerini yönetmek için üretim için bir git klasörü oluşturabilirsiniz. Ardından Git klasörünü el ile en son duruma çekin veya GitHub Actions gibi dış CI/CD araçlarını kullanarak birleştirme işleminde Git klasörünü çekin. Dış CI/CD işlem hatlarına erişiminiz olmadığında bu yaklaşımı kullanın.

    Bu yaklaşım Airflow gibi dış düzenleyicilerde çalışır, ancak yalnızca not defterleri ve pano taslakları gibi kod dosyalarının kaynak denetiminde olduğunu unutmayın. Git klasöründe varlıkları çalıştıran işler veya işlem hatları için yapılandırmalar ve pano yayımlama yapılandırmaları kaynak denetiminde değildir.

  • İşleri olan Git: İşleri olan Git, bazı iş türlerini kod dosyalarının kaynağı olarak uzak git deposunu kullanacak şekilde yapılandırmanıza olanak tanır. Bir iş çalışması başladığında, Databricks deponun o sürümünün anlık görüntüsünü alır ve tüm görevleri bu sürüme uygun olarak çalıştırır. Bu yaklaşım yalnızca sınırlı iş görevlerini destekler ve yalnızca kod dosyaları (not defterleri ve diğer dosyalar) kaynak denetimindedir. Görev dizileri, işlem ayarları ve zamanlamalar gibi iş yapılandırmaları kaynak denetimine alınmaz, bu da bu yaklaşımı çok ortamlı, çalışma alanları arası dağıtımlar için daha az uygun hale getirir.