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.
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'da makine öğrenmesi projelerine yönelik CI/CD'ye genel bakış için bkz. Officebricks, makine öğrenmesi için CI/CD'yi nasıl destekler?.
Üst düzey akış
Azure Databricks CI/CD işlem hattında yaygın bir süreç şudur:
-
Version: 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.
-
Code: Çalışma alanında Azure Databricks not defterinde veya IDE kullanarak yerel olarak kod ve birim testleri geliştirin.
- Çalışma alanında işlem hatları geliştirmek için Lakeflow İşlem Hatları Düzenleyicisi'ni kullanın.
- Azure Databricks çalışma alanlarında yerel değişiklikler geliştirmek ve dağıtmak için Databricks Visual Studio Code uzantısını kullanın.
-
Derleme: Dağıtımlar sırasında belirli yapıtları otomatik olarak oluşturmak için Bildirim temelli Otomasyon Paketleri ayarlarını kullanın.
- Paket yapılandırma yapıtları eşlemesini yapılandırın.
- Databricks Labs pylint eklentisiyle genişletilmiş Pylint, kodlama standartlarını zorunlu kılmaya ve Databricks not defterlerinizde ve uygulama kodunuzda hataları algılamaya yardımcı olur.
-
Deploy: Azure DevOps, GitHub Actions veya Jenkins gibi araçlarla Bildirim temelli Otomasyon Paketlerini kullanarak değişiklikleri Azure Databricks çalışma alanına dağıtın.
- Paket dağıtım modlarını kullanarak dağıtımları yapılandırın.
- Azure DevOps ve Databricks'i kullanma hakkında ayrıntılı bilgi için bkz. Azure DevOps kullanarak Azure Databricks'te sürekli entegrasyon ve teslimat.
- Databricks GitHub Actions örnekleri için bkz. GitHub Actions.
- Databricks ile Jenkins İşlem Hattı kullanmak için Azure Databricks üzerinde Jenkins ile CI/CD belgesine bakın.
-
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.
-
Run: Azure Databricks çalışma alanlarınızdaki çalıştırmaları otomatikleştirmek için Databricks CLI'yi Bildirim temelli Otomasyon Paketleri ile kullanın.
- databricks bundle run komutunu kullanarak paket kaynaklarını çalıştırın.
- Monitor: jobs monitoring gibi araçları kullanarak kod ve üretim iş yüklerinizin performansını Azure Databricks 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... |
|---|---|
| Bildirim temelli Otomasyon Paketleri | CI/CD en iyi yöntemlerini ve akışlarını kullanarak Lakeflow İşleri, Lakeflow Spark Bildirimli İşlem Hatları ve MLOps Yığınları gibi Databricks kaynaklarını 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. Bildirim temelli Otomasyon Paketleri yerine Databricks Terraform sağlayıcısının ne zaman kullanılacağı hakkında ayrıntılı bilgi için bkz. Yerel geliştirme araçları. |
| Azure DevOps'u kullanarak Azure Databricks üzerinde sürekli tümleştirme ve teslimat | Azure DevOps kullanan Azure Databricks için CI/CD işlem hattı geliştirin. |
| Azure Databricks üzerinde Azure DevOps ile kimlik doğrulayın | 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 üzerinde Jenkins ile CI/CD | Jenkins kullanan Azure Databricks için 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 belirteği federasyonu kullanarak Azure Databricks erişimini kimlik doğrula | 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. |
Bildirim temelli Otomasyon Paketleri
Bildirim temelli Otomasyon Paketleri , Databricks'te CI/CD için önerilen yaklaşımdır. İşler ve işlem hatları gibi Databricks kaynaklarını kaynak dosyalar olarak tanımlamak ve dağıtılabilir bir projenin uçtan uca tanımını sağlamak için bunları diğer varlıklarla birlikte paketlemek için Bildirim temelli Otomasyon Paketleri'ni kullanın. 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, Bildirim temelli Otomasyon Paketleri ile tam CI/CD uygulamaya alternatif olarak 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 birleştirme işleminde Git klasörünü çekmek için GitHub Actions gibi dış CI/CD araçlarını kullanın. 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.