Bagikan melalui


Menjalankan titik akhir batch dari Azure Data Factory

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Big data memerlukan layanan yang dapat mengatur dan mengoperasionalkan proses untuk memperbaiki penyimpanan data mentah yang sangat besar ini menjadi wawasan bisnis yang dapat ditindaklanjuti. Azure Data Factory adalah layanan cloud terkelola yang dibangun untuk proyek ekstrak-transform-load (ETL) hibrid kompleks ini, extract-load-transform (ELT), dan integrasi data.

Azure Data Factory memungkinkan pembuatan alur yang dapat mengatur beberapa transformasi data dan mengelolanya sebagai satu unit. Titik akhir batch adalah kandidat yang sangat baik untuk menjadi langkah dalam alur kerja pemrosesan tersebut. Dalam contoh ini, pelajari cara menggunakan titik akhir batch dalam aktivitas Azure Data Factory dengan mengandalkan aktivitas Web Invoke dan REST API.

Prasyarat

  • Contoh ini mengasumsikan bahwa Anda memiliki model yang disebarkan dengan benar sebagai titik akhir batch. Terutama, kami menggunakan pengklasifikasi kondisi jantung yang dibuat dalam tutorial Menggunakan model MLflow dalam penyebaran batch.

  • Sumber daya Azure Data Factory dibuat dan dikonfigurasi. Apabila Anda belum membuat pabrik data, ikuti langkah-langkah di Mulai Cepat: Membuat pabrik data menggunakan portal Azure dan Studio Azure Data Factory untuk membuatnya.

  • Setelah membuatnya, telusuri ke pabrik data di portal Azure:

    Screenshot of the home page for the Azure Data Factory, with the Open Azure Data Factory Studio tile.

  • Pilih Buka pada petak peta Buka Azure Data Factory Studio untuk meluncurkan Aplikasi Integrasi Data di tab terpisah.

Mengautentikasi terhadap titik akhir batch

Azure Data Factory dapat memanggil REST API titik akhir batch dengan menggunakan aktivitas Pemanggilan Web. Titik akhir batch mendukung ID Microsoft Entra untuk otorisasi dan karenanya permintaan yang dibuat ke API memerlukan penanganan autentikasi yang tepat.

Anda dapat menggunakan perwakilan layanan atau identitas terkelola untuk mengautentikasi terhadap Titik Akhir Batch. Sebaiknya gunakan identitas terkelola karena menyederhanakan penggunaan rahasia.

  1. Anda dapat menggunakan identitas terkelola Azure Data Factory untuk berkomunikasi dengan Titik Akhir Batch. Dalam hal ini, Anda hanya perlu memastikan bahwa sumber daya Azure Data Factory Anda disebarkan dengan identitas terkelola.

  2. Jika Anda tidak memiliki sumber daya Azure Data Factory atau sudah disebarkan tanpa identitas terkelola, ikuti langkah-langkah berikut untuk membuatnya: Identitas terkelola untuk Azure Data Factory.

    Peringatan

    Perhatikan bahwa mengubah identitas sumber daya setelah disebarkan tidak dimungkinkan di Azure Data Factory. Setelah sumber daya dibuat, Anda harus membuatnya kembali jika Anda perlu mengubah identitasnya.

  3. Setelah disebarkan, berikan akses untuk identitas terkelola sumber daya yang Anda buat ke ruang kerja Azure Pembelajaran Mesin seperti yang dijelaskan di Memberikan akses. Dalam contoh ini, perwakilan layanan akan memerlukan:

    1. Izin di ruang kerja untuk membaca penyebaran batch dan melakukan tindakan di atasnya.
    2. Izin untuk membaca/menulis di penyimpanan data.
    3. Izin untuk membaca di lokasi cloud (akun penyimpanan) yang ditunjukkan sebagai input data.

Tentang alur

Kita akan membuat alur di Azure Data Factory yang dapat memanggil titik akhir batch tertentu melalui beberapa data. Alur akan berkomunikasi dengan Azure Pembelajaran Mesin titik akhir batch menggunakan REST. Untuk mengetahui selengkapnya tentang cara menggunakan REST API titik akhir batch baca Membuat pekerjaan dan memasukkan data untuk titik akhir batch.

Alur akan terlihat sebagai berikut:

Diagram that shows th high level structure of the pipeline we are creating.

Ini terdiri dari aktivitas berikut:

  • Jalankan Titik Akhir Batch: Ini adalah Aktivitas Web yang menggunakan URI titik akhir batch untuk memanggilnya. Ini melewati URI data input tempat data berada dan file output yang diharapkan.
  • Tunggu pekerjaan: Ini adalah aktivitas perulangan yang memeriksa status pekerjaan yang dibuat dan menunggu penyelesaiannya, baik sebagai Selesai atau Gagal. Aktivitas ini, secara bergiliran, menggunakan aktivitas berikut:
    • Periksa status: Ini adalah Aktivitas Web yang meminta status sumber daya pekerjaan yang dikembalikan sebagai respons aktivitas Jalankan Titik Akhir Batch.
    • Tunggu: Ini adalah Aktivitas Tunggu yang mengontrol frekuensi polling status pekerjaan. Kami menetapkan default 120 (2 menit).

Alur memerlukan parameter berikut untuk dikonfigurasi:

Parameter Deskripsi Sampel nilai
endpoint_uri URI penilaian titik akhir https://<endpoint_name>.<region>.inference.ml.azure.com/jobs
poll_interval Jumlah detik untuk menunggu sebelum memeriksa status pekerjaan untuk penyelesaian. Default ke 120. 120
endpoint_input_uri Data input titik akhir. Beberapa jenis input data didukung. Pastikan bahwa identitas kelola yang Anda gunakan untuk menjalankan pekerjaan memiliki akses ke lokasi yang mendasar. Atau, jika menggunakan Penyimpanan Data, pastikan kredensial ditunjukkan di sana. azureml://datastores/.../paths/.../data/
endpoint_input_type Jenis data input yang Anda berikan. Saat ini titik akhir batch mendukung folder (UriFolder) dan File (UriFile). Default ke UriFolder. UriFolder
endpoint_output_uri File data output titik akhir. Ini harus berupa jalur ke file output di Penyimpanan Data yang dilampirkan ke ruang kerja Pembelajaran Mesin. Tidak ada jenis URI lain yang didukung. Anda dapat menggunakan penyimpanan data azure Pembelajaran Mesin default, bernama workspaceblobstore. azureml://datastores/workspaceblobstore/paths/batch/predictions.csv

Peringatan

Ingat bahwa endpoint_output_uri seharusnya jalur ke file yang belum ada. Jika tidak, pekerjaan akan gagal dengan kesalahan jalur sudah ada.

Langkah-langkah

Untuk membuat alur ini di Azure Data Factory yang sudah ada dan memanggil titik akhir batch, ikuti langkah-langkah berikut:

  1. Pastikan komputasi tempat titik akhir batch berjalan memiliki izin untuk memasang data yang disediakan Azure Data Factory sebagai input. Perhatikan bahwa akses masih diberikan oleh identitas yang memanggil titik akhir (dalam hal ini Azure Data Factory). Namun, komputasi tempat titik akhir batch berjalan harus memiliki izin untuk memasang akun penyimpanan yang disediakan Azure Data Factory Anda. Lihat Mengakses layanan penyimpanan untuk detailnya.

  2. Buka Azure Data Factory Studio dan di bawah Sumber Daya Pabrik klik tanda plus.

  3. Pilih Impor Alur>dari templat alur

  4. Anda akan diminta untuk memilih zip file. Menggunakan templat berikut jika menggunakan identitas terkelola atau yang berikut ini jika menggunakan perwakilan layanan.

  5. Pratinjau alur akan muncul di portal. Klik Gunakan templat ini.

  6. Alur akan dibuat untuk Anda dengan nama Run-BatchEndpoint.

  7. Konfigurasikan parameter penyebaran batch yang Anda gunakan:

Peringatan

Pastikan titik akhir batch Anda memiliki penyebaran default yang dikonfigurasi sebelum mengirimkan pekerjaan ke dalamnya. Alur yang dibuat akan memanggil titik akhir dan karenanya penyebaran default perlu dibuat dan dikonfigurasi.

Tip

Untuk penggunaan kembali terbaik, gunakan alur yang dibuat sebagai templat dan panggil dari dalam alur Azure Data Factory lainnya dengan memanfaatkan aktivitas Jalankan alur. Dalam hal ini, jangan mengonfigurasi parameter dalam alur dalam tetapi meneruskannya sebagai parameter dari alur luar seperti yang ditunjukkan pada gambar berikut:

Screenshot of the pipeline parameters expected for the resulting pipeline when invoked from another pipeline.

  1. Alur Anda siap digunakan.

Batasan

Saat memanggil penyebaran azure Pembelajaran Mesin batch, pertimbangkan batasan berikut:

Input data

  • Hanya penyimpanan data Azure Pembelajaran Mesin atau Akun Azure Storage (Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2) yang didukung sebagai input. Jika data input Anda berada di sumber lain, gunakan aktivitas Salin Azure Data Factory sebelum eksekusi pekerjaan batch untuk men-sink data ke penyimpanan yang kompatibel.
  • Pekerjaan titik akhir batch tidak menjelajahi folder berlapis dan karenanya tidak dapat bekerja dengan struktur folder berlapis. Jika data Anda didistribusikan dalam beberapa folder, perhatikan bahwa Anda harus meratakan struktur.
  • Pastikan bahwa skrip penilaian Anda yang disediakan dalam penyebaran dapat menangani data seperti yang diharapkan untuk disalurkan ke dalam pekerjaan. Jika modelnya adalah MLflow, baca batasan dalam hal jenis file yang didukung saat menggunakan model MLflow dalam penyebaran batch.

Output data

  • Hanya penyimpanan data Azure Pembelajaran Mesin terdaftar yang didukung saat ini. Kami menyarankan Anda untuk mendaftarkan akun penyimpanan yang digunakan Azure Data Factory Anda sebagai Penyimpanan Data di Azure Pembelajaran Mesin. Dengan cara itu, Anda akan dapat menulis kembali ke akun penyimpanan yang sama dari tempat Anda membaca.
  • Hanya Akun Azure Blob Storage yang didukung untuk output. Misalnya, Azure Data Lake Storage Gen2 tidak didukung sebagai output dalam pekerjaan penyebaran batch. Jika Anda perlu mengeluarkan data ke lokasi/sink yang berbeda, gunakan aktivitas Salin Azure Data Factory setelah eksekusi pekerjaan batch.

Langkah berikutnya