Bagikan melalui


CI/CD di Azure 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 dalam pengembangan perangkat lunak, dan menjadi semakin diperlukan dalam rekayasa data dan ilmu data. Dengan mengotomatiskan pembuatan, pengujian, dan penyebaran kode, tim pengembangan memberikan rilis yang lebih andal daripada dengan proses manual.

Databricks menyediakan alat untuk mengembangkan alur CI/CD yang mendukung pendekatan yang mungkin sedikit berbeda dari organisasi ke organisasi karena aspek unik siklus hidup pengembangan perangkat lunak setiap organisasi. Halaman ini menyediakan informasi tentang alat yang tersedia untuk alur CI/CD di Databricks. Untuk detail tentang rekomendasi CI/CD dan praktik terbaik, lihat Praktik terbaik dan alur kerja CI/CD yang direkomendasikan di Databricks.

Untuk gambaran umum CI/CD untuk proyek pembelajaran mesin di Azure Databricks, lihat Bagaimana Databricks mendukung CI/CD untuk pembelajaran mesin?.

Aliran tingkat tinggi

Alur proses umum untuk jalur pipa CI/CD Azure Databricks adalah sebagai berikut:

  1. Versi: 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.
  2. Kode: Mengembangkan pengujian kode dan unit di notebook Azure Databricks di ruang kerja atau secara lokal menggunakan IDE.
  3. Build: Gunakan pengaturan Bundel Aset Databricks untuk membangun artefak tertentu secara otomatis selama penyebaran.
    • Konfigurasikan pemetaan artefak konfigurasi bundel.
    • Pylint diperluas dengan plugin pylint Databricks Labs membantu menerapkan standar pengodean dan mendeteksi bug di buku catatan Databricks dan kode aplikasi Anda.
  4. Sebarkan: Sebarkan perubahan pada ruang kerja Azure Databricks menggunakan Bundel Aset Databricks dengan alat seperti Azure DevOps, GitHub Actions, atau Jenkins.
  5. Uji: Kembangkan dan jalankan pengujian otomatis untuk memvalidasi perubahan kode Anda.
    • Gunakan alat seperti pytest untuk menguji integrasi Anda.
  6. Jalankan: Gunakan Databricks CLI dengan Bundel Aset Databricks untuk mengotomatiskan eksekusi di ruang kerja Azure Databricks Anda.
  7. Monitor: Pantau performa kode dan beban kerja produksi Anda di Azure Databricks menggunakan alat seperti pemantauan pekerjaan. Ini membantu Anda mengidentifikasi dan menyelesaikan masalah apa pun yang muncul di lingkungan produksi Anda.

Alat yang tersedia

Alat berikut mendukung prinsip inti CI/CD: membuat versi semua file dan menyatukan manajemen aset, menentukan infrastruktur sebagai kode, mengisolasi lingkungan, mengotomatiskan pengujian, dan memantau dan mengotomatiskan pemutaran kembali.

Wilayah Gunakan alat-alat ini saat Anda ingin…
Paket Aset Databricks Tentukan, sebarkan, dan jalankan sumber daya secara terprogram, termasuk Pekerjaan Lakeflow, Alur Deklaratif Lakeflow Spark, dan Tumpukan MLOps menggunakan praktik dan alur terbaik CI/CD.
Provider Databricks Terraform Memprovisikan dan mengelola ruang kerja dan infrastruktur Databricks menggunakan Terraform.
Integrasi dan pengiriman berkelanjutan di Azure Databricks menggunakan Azure DevOps Mengembangkan alur CI/CD untuk Azure Databricks yang menggunakan Azure DevOps.
Mengautentikasi dengan Azure DevOps di Azure Databricks Autentikasi dengan Azure DevOps.
Tindakan GitHub Sertakan GitHub Action yang dikembangkan untuk Azure Databricks dalam alur CI/CD Anda.
CI/CD dengan Jenkins di Azure Databricks Kembangkan alur CI/CD untuk Azure Databricks yang menggunakan Jenkins.
Mengorkestrasikan Pekerjaan Lakeflow dengan Apache Airflow Mengelola dan menjadwalkan alur data yang menggunakan Apache Airflow.
Prinsipal layanan untuk CI/CD Gunakan prinsipal layanan daripada pengguna dalam CI/CD.
Mengautentikasi akses ke Azure Databricks menggunakan federasi token OAuth Gunakan federasi identitas beban kerja untuk autentikasi CI/CD, yang menghilangkan kebutuhan akan rahasia Databricks, menjadikannya cara paling aman untuk mengautentikasi ke Databricks.

Bundel Aset Databricks

Bundel Aset Databricks adalah pendekatan yang disarankan untuk CI/CD di Databricks. Gunakan Bundel Aset Databricks untuk menjelaskan sumber daya Databricks seperti pekerjaan dan alur sebagai file sumber, dan bundelkan bersama dengan aset lain untuk memberikan definisi menyeluruh dari proyek yang dapat disebarkan. Bundel file ini dapat dikontrol sumber, dan Anda dapat menggunakan otomatisasi CI/CD eksternal seperti Tindakan Github untuk memicu penyebaran.

Bundel mencakup banyak fitur seperti templat kustom untuk memberlakukan konsistensi dan praktik terbaik di seluruh organisasi Anda, dan dukungan komprehensif untuk menyebarkan file kode dan konfigurasi untuk banyak sumber daya Databricks. Penulisan bundel memerlukan beberapa pengetahuan tentang sintaks konfigurasi bundel.

Untuk rekomendasi tentang cara menggunakan bundel di CI/CD, lihat Praktik terbaik dan alur kerja CI/CD yang direkomendasikan di Databricks.

Alat lain untuk kontrol sumber

Sebagai alternatif untuk menerapkan CI/CD penuh dengan Bundel Aset Databricks, Databricks menawarkan opsi untuk hanya mengontrol sumber dan menyebarkan file kode dan notebook.

  • Folder Git: Folder Git dapat digunakan untuk mencerminkan status repositori Git jarak jauh. Anda dapat membuat folder git untuk produksi guna mengelola file sumber dan notebook yang dikontrol sumber. Kemudian tarik folder Git secara manual ke status terbaru, atau gunakan alat CI/CD eksternal seperti GitHub Actions untuk menarik folder Git saat digabungkan. Gunakan pendekatan ini saat Anda tidak memiliki akses ke alur CI/CD eksternal.

    Pendekatan ini berfungsi untuk orkestrator eksternal seperti Airflow, tetapi perhatikan bahwa hanya file kode, seperti notebook dan draf dasbor, yang berada dalam kontrol sumber. Konfigurasi untuk pekerjaan atau alur yang menjalankan aset di folder Git dan konfigurasi untuk dasbor penerbitan tidak berada dalam kontrol sumber.

  • Git dengan pekerjaan: Git dengan pekerjaan memungkinkan Anda mengonfigurasi beberapa jenis pekerjaan untuk menggunakan repositori Git jarak jauh sebagai sumber untuk file kode. Ketika sebuah pemrosesan pekerjaan dimulai, Databricks mengambil snapshot dari repositori dan menjalankan semua tugas terhadap versi tersebut. Pendekatan ini hanya mendukung tugas pekerjaan terbatas, dan hanya file kode (notebook dan file lain) yang dikontrol sumber. Konfigurasi pekerjaan seperti urutan tugas, pengaturan komputasi, dan jadwal tidak dikontrol sumber, membuat pendekatan ini kurang cocok untuk penyebaran multi-lingkungan, lintas ruang kerja.