Apa itu CI/CD di Azure Databricks?
Artikel ini adalah pengantar CI/CD di Databricks. Integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) adalah proses pengembangan dan pengiriman perangkat lunak dalam siklus singkat dan sering melalui penggunaan alur otomatisasi. CI/CD umum untuk pengembangan perangkat lunak, dan menjadi semakin diperlukan untuk rekayasa data dan ilmu data. Dengan mengotomatiskan pembuatan, pengujian, dan penyebaran kode, tim pengembangan dapat memberikan rilis dengan lebih andal daripada dengan proses manual yang masih umum untuk tim rekayasa data dan ilmu data.
Azure Databricks merekomendasikan penggunaan Bundel Aset Databricks untuk CI/CD, yang memungkinkan pengembangan dan penyebaran data, analitik, dan proyek ML yang kompleks untuk platform Azure Databricks. Bundel memungkinkan Anda mengelola banyak konfigurasi kustom dengan mudah dan mengotomatiskan build, pengujian, dan penyebaran proyek Anda ke ruang kerja pengembangan, penahapan, dan produksi Azure Databricks.
Untuk gambaran umum CI/CD untuk proyek pembelajaran mesin di Azure Databricks, lihat Bagaimana Databricks mendukung CI/CD untuk pembelajaran mesin?.
Apa yang ada dalam alur CI/CD di Azure Databricks?
Anda dapat menggunakan Bundel Aset Databricks untuk menentukan dan mengelola implementasi CI/CD Azure Databricks Anda secara terprogram, yang biasanya mencakup:
- Notebooks: Notebook Azure Databricks sering menjadi bagian penting dari rekayasa data dan alur kerja ilmu data. Anda dapat menggunakan kontrol versi untuk notebook, dan juga memvalidasi dan mengujinya sebagai bagian dari alur CI/CD. Anda dapat menjalankan pengujian otomatis terhadap notebook untuk memeriksa apakah mereka berfungsi seperti yang diharapkan.
- Pustaka: Kelola dependensi pustaka yang diperlukan untuk menjalankan kode yang Anda sebarkan. Gunakan kontrol versi pada pustaka dan sertakan dalam pengujian dan validasi otomatis.
- Alur kerja: Pekerjaan Databricks terdiri dari pekerjaan yang memungkinkan Anda menjadwalkan dan menjalankan tugas otomatis menggunakan buku catatan atau pekerjaan Spark.
- Alur data: Anda juga dapat menyertakan alur data dalam otomatisasi CI/CD, menggunakan Tabel Langsung Delta, kerangka kerja di Databricks untuk mendeklarasikan alur data.
- Infrastruktur: Konfigurasi infrastruktur mencakup definisi dan informasi provisi untuk kluster, ruang kerja, dan penyimpanan untuk lingkungan target. Perubahan infrastruktur dapat divalidasi dan diuji sebagai bagian dari alur CI/CD, memastikan bahwa mereka konsisten dan bebas kesalahan.
Langkah-langkah untuk CI/CD di Azure Databricks
Alur umum untuk alur CI/CD Azure Databricks mencakup langkah-langkah berikut:
- Simpan: Simpan kode dan notebook Azure Databricks Anda dalam sistem kontrol versi seperti Git. Ini memungkinkan Anda melacak perubahan dari waktu ke waktu dan berkolaborasi dengan anggota tim lain. Lihat teknik CI/CD dengan folder Git dan Databricks Git (Repos) dan bundel pengaturan Git.
- Kode: Mengembangkan pengujian kode dan unit di notebook Azure Databricks di ruang kerja atau secara lokal menggunakan IDE eksternal. Azure Databricks menyediakan ekstensi Visual Studio Code yang memudahkan untuk mengembangkan dan menyebarkan perubahan ke ruang kerja Azure Databricks.
- Build: Gunakan pengaturan Bundel Aset Databricks untuk membangun artefak tertentu secara otomatis selama penyebaran. Lihat artefak. Selain itu, Pylint diperluas dengan plugin pylint Databricks Labs membantu memberlakukan standar pengodean dan mendeteksi bug di notebook Databricks dan kode aplikasi Anda.
- Sebarkan: Sebarkan perubahan pada ruang kerja Azure Databricks menggunakan Bundel Aset Databricks bersama dengan alat seperti Azure DevOps, Jenkins, atau GitHub Actions. Lihat Mode penyebaran Bundel Aset Databricks.
- Uji: Kembangkan dan jalankan pengujian otomatis untuk memvalidasi perubahan kode Anda menggunakan alat seperti pytest. Untuk menguji integrasi Anda dengan API ruang kerja, plugin pytest Databricks Labs memungkinkan Anda membuat objek ruang kerja dan membersihkannya setelah pengujian selesai.
- Jalankan: Gunakan Databricks CLI bersama dengan Bundel Aset Databricks untuk mengotomatiskan eksekusi di ruang kerja Azure Databricks Anda. Lihat Menjalankan bundel.
- Monitor: Pantau performa kode dan alur kerja Anda di Azure Databricks menggunakan alat seperti Azure Monitor atau Datadog. Ini membantu Anda mengidentifikasi dan menyelesaikan masalah apa pun yang muncul di lingkungan produksi Anda.
- Iterasi: Buat perulangan kecil dan sering untuk meningkatkan dan memperbarui rekayasa data atau proyek ilmu data Anda. Perubahan kecil lebih mudah digulung balik daripada yang besar.
Tautan terkait
Untuk informasi selengkapnya tentang mengelola siklus hidup aset dan data Azure Databricks, lihat dokumentasi berikut tentang CI/CD dan alat alur data.
Luas | Gunakan alat-alat ini saat Anda ingin… |
---|---|
Bundel Aset Databricks | Tentukan, sebarkan, dan jalankan pekerjaan Azure Databricks secara terprogram, alur Delta Live Tables, dan MLOps Stacks dengan menggunakan praktik dan alur kerja terbaik CI/CD. |
Penyedia Databricks Terraform | Memprovisikan dan mengelola infrastruktur dan sumber daya Databricks menggunakan Terraform. |
Alur kerja CI/CD dengan folder Git dan Databricks Git | Gunakan folder Git GitHub dan Databricks Git untuk kontrol sumber dan alur kerja CI/CD. |
Mengautentikasi dengan Azure DevOps di Databricks | Autentikasi dengan Azure DevOps. |
Menggunakan perwakilan layanan Microsoft Entra untuk mengautentikasi akses ke folder Git Azure Databricks | Gunakan perwakilan layanan MS Entra untuk mengautentikasi akses ke folder Databricks Git. |
Integrasi dan pengiriman berkelanjutan di Azure Databricks menggunakan Azure DevOps | Mengembangkan alur CI/CD untuk Azure Databricks yang menggunakan Azure DevOps. |
Integrasi dan pengiriman berkelanjutan menggunakan GitHub Actions | Kembangkan alur kerja CI/CD pada GitHub yang menggunakan GitHub Actions yang dikembangkan untuk Azure Databricks. |
CI/CD dengan Jenkins di Azure Databricks | Kembangkan alur CI/CD untuk Azure Databricks yang menggunakan Jenkins. |
Mengatur pekerjaan Azure Databricks dengan Apache Airflow | Mengelola dan menjadwalkan alur data yang menggunakan Apache Airflow. |
Perwakilan layanan untuk CI/CD | Gunakan perwakilan layanan, bukan pengguna, dengan sistem CI/CD. |