Penilaian batch model Spark di Azure Databricks

Microsoft Entra ID
Azure Databricks
Azure Data Factory
Azure Blob Storage

Arsitektur referensi ini menunjukkan cara membangun solusi yang dapat diskalakan untuk menilai model klasifikasi Apache Spark sesuai jadwal menggunakan Azure Databricks. Azure Databricks adalah platform analitik berbasis Apache Spark yang dioptimalkan untuk Azure. Azure Databricks menawarkan tiga lingkungan untuk mengembangkan aplikasi intensif data: Databricks SQL, Databricks Data Science & Engineering, dan Databricks Machine Learning. Databricks Azure Machine Learning adalah lingkungan pembelajaran mesin menyeluruh terintegrasi yang menggabungkan layanan terkelola untuk pelacakan eksperimen, pelatihan model, pengembangan dan pengelolaan fitur, serta penyajian fitur dan model. Anda dapat menggunakan arsitektur referensi ini sebagai templat yang dapat digeneralisasi ke skenario lain. Penerapan referensi untuk arsitektur ini tersedia di GitHub.

ApacheĀ® dan Apache SparkĀ® adalah merek dagang terdaftar atau merek dagang dari Apache Software Foundation di Amerika Serikat dan/atau negara lain. Tidak ada dukungan oleh The Apache Software Foundation yang tersirat oleh penggunaan tanda ini.

Sistem

Diagram memperlihatkan penilaian batch model klasifikasi Apache Spark di Azure Databricks.

Unduh file Visio arsitektur ini.

Alur kerja

Arsitektur mendefinisikan aliran data yang seluruhnya terkandung dalam Azure Databricks berdasarkan sekumpulan buku catatan yang dijalankan secara berurutan. Ini terdiri dari komponen berikut:

File data. Implementasi referensi menggunakan himpunan data simulasi yang terdapat dalam lima file data statis.

Penyerapan. Buku catatan penyerapan data mengunduh file data input ke dalam kumpulan himpunan data Databricks. Dalam skenario dunia nyata, data dari perangkat IoT akan mengalir ke penyimpanan yang dapat diakses Databricks seperti penyimpanan Azure SQL atau Azure Blob. Databricks mendukung beberapa sumber data.

Alur pelatihan. Buku catatan ini menjalankan buku catatan rekayasa fitur untuk membuat himpunan data analisis dari data yang diserap. Kemudian, buku catatan ini mengeksekusi buku catatan bangunan model yang melatih model pembelajaran mesin menggunakan pustaka pembelajaran mesin Apache Spark MLlib yang skalabel.

Alur penilaian. Buku catatan ini menjalankan buku catatan rekayasa fitur untuk membuat himpunan data penilaian dari data yang diserap dan mengeksekusi buku catatan penilaian. Buku catatan penilaian menggunakan model Spark MLlib terlatih untuk menghasilkan prediksi untuk pengamatan dalam himpunan data penilaian. Prediksi disimpan di penyimpanan hasil, himpunan data baru di penyimpanan data Databricks.

Scheduler. pekerjaan Databricks terjadwal menangani penilaian batch dengan model Spark. Pekerjaan menjalankan buku catatan saluran penilaian, meneruskan argumen variabel melalui parameter buku catatan untuk menentukan detail untuk menyusun himpunan data penilaian dan tempat menyimpan himpunan data hasil.

Detail solusi

Skenario dibangun sebagai aliran alur. Setiap buku catatan dioptimalkan untuk berjalan dalam pengaturan batch untuk setiap operasi: penyerapan, rekayasa fitur, pembuatan model, dan penilaian model. Buku catatan rekayasa fitur dirancang untuk menghasilkan himpunan data umum untuk setiap operasi pelatihan, kalibrasi, pengujian, atau penilaian. Dalam skenario ini, kami menggunakan strategi pemisahan sementara untuk operasi ini, sehingga parameter buku catatan digunakan untuk mengatur pemfilteran rentang tanggal.

Karena skenario membuat alur batch, kami menyediakan satu set buku catatan pemeriksaan opsional untuk mengeksplorasi output dari buku catatan alur. Anda dapat menemukan buku catatan ini di folder buku catatan repositori GitHub:

  • 1a_raw-data_exploring.ipynb
  • 2a_feature_exploration.ipynb
  • 2b_model_testing.ipynb
  • 3b_model_scoring_evaluation.ipynb

Kemungkinan kasus penggunaan

Sebuah bisnis di industri aset-berat ingin meminimalkan biaya dan waktu henti yang terkait dengan kegagalan mekanis yang tidak terduga. Menggunakan data IoT yang dikumpulkan dari mesinnya, mereka dapat membuat model pemeliharaan prediktif. Model ini memungkinkan bisnis memelihara komponen secara proaktif dan memperbaikinya sebelum gagal. Dengan memaksimalkan penggunaan komponen mekanis, mesin dapat mengontrol biaya dan mengurangi waktu henti.

Model perawatan prediktif mengumpulkan data dari mesin dan menyimpan contoh historis kegagalan komponen. Model tersebut kemudian dapat digunakan untuk memantau keadaan komponen saat ini dan memprediksi jika komponen tertentu akan segera gagal. Untuk kasus penggunaan umum dan pendekatan pemodelan, lihat panduan Azure AI untuk solusi pemeliharaan prediktif.

Arsitektur referensi ini dirancang untuk beban kerja yang dipicu oleh adanya data baru dari mesin komponen. Pemrosesan melibatkan langkah-langkah berikut:

  1. Menyerap data dari penyimpanan data eksternal ke penyimpanan data Azure Databricks.

  2. Melatih model pembelajaran mesin dengan mengubah data menjadi himpunan data pelatihan, lalu membuat model Spark MLlib. MLlib terdiri dari algoritme pembelajaran mesin paling umum dan utilitas yang dioptimalkan untuk memanfaatkan kemampuan skalabilitas data Spark.

  3. Menerapkan model terlatih untuk memprediksi (mengklasifikasikan) kegagalan komponen dengan mengubah data menjadi himpunan data penilaian. Menilai data dengan model Spark MLLib.

  4. Menyimpan hasil di penyimpanan data Databricks untuk konsumsi pascapemrosesan.

Buku catatan disediakan di GitHub untuk melakukan setiap tugas ini.

Rekomendasi

Databricks disiapkan sehingga Anda dapat memuat dan menyebarkan model terlatih untuk membuat prediksi dengan data baru. Databricks juga memberikan keuntungan lain:

  • Dukungan akses menyeluruh menggunakan kredensial Microsoft Entra.
  • Penjadwal pekerjaan untuk menjalankan pekerjaan untuk alur produksi.
  • Buku catatan yang sepenuhnya interaktif dengan kolaborasi, dasbor, REST API.
  • Kluster tanpa batas yang dapat diskalakan ke berbagai ukuran.
  • Keamanan tingkat lanjut, kontrol akses berbasis peran, dan log audit.

Untuk berinteraksi dengan layanan Azure Databricks, gunakan antarmuka Ruang Kerja Databricks di browser web atau antarmuka baris perintah (CLI). Akses CLI Databricks dari platform apa pun yang mendukung Python 2.7.9 hingga 3.6.

Implementasi referensi menggunakan buku catatan untuk menjalankan tugas secara berurutan. Setiap buku catatan menyimpan artefak data perantara (pelatihan, pengujian, penilaian, atau himpunan data hasil) ke penyimpanan data yang sama sebagai data input. Tujuannya adalah untuk memudahkan Anda menggunakannya sesuai kebutuhan dalam kasus penggunaan khusus Anda. Dalam praktiknya, Anda akan menghubungkan sumber data Anda ke instans Azure Databricks agar buku catatan dapat membaca dan menulis langsung kembali ke penyimpanan Anda.

Pantau eksekusi pekerjaan melalui antarmuka pengguna Databricks, penyimpanan data, atau Databricks CLI seperlunya. Pantau kluster menggunakan log peristiwa dan metrik lain yang disediakan Databricks.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Performa

Kluster Azure Databricks memungkinkan penskalaan otomatis secara default sehingga selama runtime, Databricks secara dinamis mengalokasikan ulang pekerja untuk memperhitungkan karakteristik pekerjaan Anda. Bagian tertentu dari alur Anda mungkin lebih menuntut secara komputasi daripada yang lain. Databricks menambahkan pekerja tambahan selama fase pekerjaan Anda ini (dan menghapusnya saat tidak lagi dibutuhkan). Penskalaan otomatis mempermudah pencapaian penggunaan kluster yang tinggi, karena Anda tidak perlu menyediakan kluster agar sesuai dengan beban kerja.

Kembangkan alur terjadwal yang lebih kompleks dengan menggunakan Azure Data Factory dengan Azure Databricks.

Penyimpanan

Dalam implementasi referensi ini, data disimpan langsung di dalam penyimpanan Databricks untuk kesederhanaan. Namun, dalam pengaturan produksi, Anda dapat menyimpan data di penyimpanan data cloud seperti Azure Blob Storage. Databricks juga mendukung Azure Data Lake Store, Azure Synapse Analytics, Azure Cosmos DB, Apache Kafka, dan Apache Hadoop.

Pengoptimalan biaya

Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

Secara umum, gunakan kalkulator harga Azure untuk memperkirakan biaya. Pertimbangan lainnya dijelaskan di bagian Biaya di Microsoft Azure Well-Architected Framework.

Azure Databricks adalah penawaran Spark premium dengan biaya terkait. Selain itu, ada tingkat harga Databricks standar dan premium.

Untuk skenario ini, tingkat harga standar sudah cukup. Namun, jika aplikasi spesifik Anda memerlukan kluster penskalaan otomatis untuk menangani beban kerja yang lebih besar atau dasbor Databricks interaktif, tingkat premium dapat lebih meningkatkan biaya.

Buku catatan solusi dapat berjalan pada platform berbasis Spark apa pun dengan pengeditan minimal untuk menghapus paket khusus Databricks. Lihat solusi serupa berikut untuk berbagai platform Azure:

Menyebarkan skenario ini

Untuk menyebarkan arsitektur referensi ini, ikuti langkah-langkah yang dijelaskan dalam repositori GitHub untuk membangun solusi yang dapat diskalakan untuk menilai model Spark secara massal di Azure Databricks.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya