Azure Databricks'te CI/CD nedir?
Bu makale, Databricks'te CI/CD'ye giriş niteliğindedir. 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 ortaktır ve veri mühendisliği ve veri bilimi için giderek daha fazla gerekli hale gelmektedir. Geliştirme ekipleri, kodun oluşturulmasını, testini ve dağıtımını otomatikleştirerek, veri mühendisliği ve veri bilimi ekipleri için hala yaygın olan el ile gerçekleştirilen işlemlere kıyasla daha güvenilir yayınlar sunabilir.
Azure Databricks, Azure Databricks platformu için karmaşık veri, analiz ve ML projelerinin geliştirilmesini ve dağıtılabilmesini sağlayan CI/CD için Databricks Varlık Paketlerinin kullanılmasını önerir. Paketler birçok özel yapılandırmayı kolayca yönetmenize ve projelerinizin Azure Databricks geliştirme, hazırlama ve üretim çalışma alanlarına yönelik derlemelerini, testlerini ve dağıtımlarını otomatikleştirmenizi sağ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?.
Azure Databricks'te CI/CD işlem hattında neler vardır?
Databricks Varlık Paketleri'ni kullanarak Azure Databricks CI/CD uygulamanızı tanımlayabilir ve program aracılığıyla yönetebilirsiniz. Bunlar genellikle şunları içerir:
- Not defterleri: Azure Databricks not defterleri genellikle veri mühendisliği ve veri bilimi iş akışlarının önemli bir parçasıdır. Not defterleri için sürüm denetimini kullanabilir ve bunları bir CI/CD işlem hattının parçası olarak doğrulayabilir ve test edebilirsiniz. Not defterlerinin beklendiği gibi çalışıp çalışmadığını denetlemek için otomatikleştirilmiş testler çalıştırabilirsiniz.
- Kitaplıklar: Dağıtılan kodunuzu çalıştırmak için gereken kitaplık bağımlılıklarını yönetin. Kitaplıklarda sürüm denetimini kullanın ve bunları otomatik test ve doğrulamaya ekleyin.
- İş Akışları: Databricks İşleri, not defterlerini veya Spark işlerini kullanarak otomatik görevleri zamanlamanıza ve çalıştırmanıza olanak sağlayan işlerden oluşur.
- Veri işlem hatları: Veri işlem hatlarını bildirmek için Databricks'teki Delta Live Tables çerçevesini kullanarak CI/CD otomasyonuna veri işlem hatlarını da ekleyebilirsiniz.
- Altyapı: Altyapı yapılandırması, hedef ortamlar için kümeler, çalışma alanları ve depolama için tanımları ve sağlama bilgilerini içerir. Altyapı değişiklikleri, tutarlı ve hatasız olduklarından emin olmak için CI/CD işlem hattının bir parçası olarak doğrulanabilir ve test edilebilir.
Azure Databricks'te CI/CD adımları
Azure Databricks CI/CD işlem hattı için tipik bir akış aşağıdaki adımları içerir:
- Depolama: 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. Bkz . Git ve Databricks Git klasörleri (Depolar) ile CI/CD teknikleri ve Paket Git ayarları.
- Kod: Çalışma alanında bir Azure Databricks not defterinde veya bir dış IDE kullanarak yerel olarak kod ve birim testleri geliştirin. Azure Databricks, Değişiklikleri geliştirmeyi ve Azure Databricks çalışma alanlarına dağıtmayı kolaylaştıran bir Visual Studio Code uzantısı sağlar.
- Derleme: Dağıtımlar sırasında belirli yapıtları otomatik olarak oluşturmak için Databricks Varlık Paketleri ayarlarını kullanın. Bkz . yapıtlar. Buna ek olarak, Pylint, Databricks Labs pylint eklentisiyle genişletildi, kodlama standartlarını zorunlu kılmaya ve Databricks not defterlerinizde ve uygulama kodunuzda hataları algılamaya yardımcı olur.
- Dağıtma: Azure DevOps, Jenkins veya GitHub Actions gibi araçlarla birlikte Databricks Varlık Paketleri'ni kullanarak Azure Databricks çalışma alanında değişiklikleri dağıtın. Bkz. Databricks Varlık Paketi dağıtım modları.
- Test: Pytest gibi araçları kullanarak kod değişikliklerinizi doğrulamak için otomatikleştirilmiş testler geliştirin ve çalıştırın. Databricks Labs pytest eklentisi, çalışma alanı API'leriyle tümleştirmelerinizi test etmek için çalışma alanı nesneleri oluşturmanıza ve testler tamamlandıktan sonra bunları temizlemenize olanak tanır.
- Çalıştırma: Azure Databricks çalışma alanlarınızdaki çalıştırmaları otomatikleştirmek için Databricks CLI'sini Databricks Varlık Paketleri ile birlikte kullanın. Bkz . Paket çalıştırma.
- İzleme: Azure İzleyici veya Datadog gibi araçları kullanarak Azure Databricks'te kodunuzun ve iş akışlarınızın performansını izleyin. Bu, üretim ortamınızda ortaya çıkan sorunları belirlemenize ve çözmenize yardımcı olur.
- Yineleme: Veri mühendisliğinizi veya veri bilimi projenizi geliştirmek ve güncelleştirmek için küçük, sık yinelemeler yapın. Küçük değişikliklerin geri alınması büyük değişikliklere göre daha kolaydır.
İlgili bağlantılar
Azure Databricks varlıklarının ve verilerinin yaşam döngüsünü yönetme hakkında daha fazla bilgi için CI/CD ve veri işlem hattı araçları hakkında aşağıdaki belgelere bakın.
Alan | İstediğiniz zaman bu araçları kullanın... |
---|---|
Databricks Varlık Paketleri | CI/CD en iyi yöntemlerini ve iş akışlarını kullanarak Azure Databricks işlerini, Delta Live Tables işlem hatlarını ve MLOps Yığınları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 altyapısını ve kaynaklarını sağlama ve yönetme. |
Git ve Databricks Git klasörleriyle CI/CD iş akışları | Kaynak denetimi ve CI/CD iş akışları için GitHub ve Databricks Git klasörlerini kullanın. |
Databricks'te Azure DevOps ile kimlik doğrulaması | Azure DevOps ile kimlik doğrulaması. |
Azure Databricks Git klasörlerine erişimin kimliğini doğrulamak için Microsoft Entra hizmet sorumlusu kullanma | Databricks Git klasörlerine erişimin kimliğini doğrulamak için MS Entra hizmet sorumlusu kullanın. |
Azure Databricks'te Azure DevOps kullanarak sürekli tümleştirme ve teslim | Azure DevOps kullanan Azure Databricks için bir CI/CD işlem hattı geliştirin. |
GitHub Actions kullanarak sürekli tümleştirme ve teslim | GitHub'da Azure Databricks için geliştirilen GitHub Actions'ı kullanan bir CI/CD iş akışı geliştirin. |
Azure Databricks'te Jenkins ile CI/CD | Azure Databricks için Jenkins kullanan bir CI/CD işlem hattı geliştirin. |
Apache Airflow ile Azure Databricks iş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 sistemleriyle kullanıcılar yerine hizmet sorumlularını kullanın. |