Mengimpor aset data (pratinjau)

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

Dalam artikel ini, Anda mempelajari cara mengimpor data ke platform Azure Pembelajaran Mesin dari sumber eksternal. Impor data yang berhasil secara otomatis membuat dan mendaftarkan aset data Azure Pembelajaran Mesin dengan nama yang disediakan selama impor tersebut. Aset data Azure Pembelajaran Mesin menyerupan bookmark browser web (favorit). Anda tidak perlu mengingat jalur penyimpanan panjang (URI) yang menunjuk ke data yang paling sering digunakan. Sebagai gantinya, Anda dapat membuat aset data, lalu mengakses aset tersebut dengan nama yang mudah diingat.

Impor data membuat cache data sumber, bersama dengan metadata, untuk akses data yang lebih cepat dan andal dalam pekerjaan pelatihan Azure Pembelajaran Mesin. Cache data menghindari batasan jaringan dan koneksi. Data yang di-cache di-versi untuk mendukung reproduksi. Ini menyediakan kemampuan penerapan versi untuk data yang diimpor dari sumber SQL Server. Selain itu, data yang di-cache menyediakan silsilah data untuk tugas audit. Impor data menggunakan ADF (alur Azure Data Factory) di belakang layar, yang berarti bahwa pengguna dapat menghindari interaksi kompleks dengan ADF. Di balik layar, Azure Pembelajaran Mesin juga menangani manajemen ukuran kumpulan sumber daya komputasi ADF, penyediaan sumber daya komputasi, dan pengoperasian, untuk mengoptimalkan transfer data dengan menentukan paralelisasi yang tepat.

Data yang ditransfer dipartisi dan disimpan dengan aman sebagai file parket di penyimpanan Azure. Ini memungkinkan pemrosesan yang lebih cepat selama pelatihan. Biaya komputasi ADF hanya melibatkan waktu yang digunakan untuk transfer data. Biaya penyimpanan hanya melibatkan waktu yang diperlukan untuk menyimpan data, karena data yang di-cache adalah salinan data yang diimpor dari sumber eksternal. Penyimpanan Azure menghosting sumber eksternal tersebut.

Fitur penembolokan melibatkan biaya komputasi dan penyimpanan di muka. Namun, ia membayar sendiri, dan dapat menghemat uang, karena mengurangi biaya komputasi pelatihan berulang, dibandingkan dengan koneksi langsung ke data sumber eksternal selama pelatihan. Ini menyimpan data sebagai file parket, yang membuat pelatihan pekerjaan lebih cepat dan lebih andal terhadap batas waktu koneksi untuk himpunan data yang lebih besar. Ini menyebabkan lebih sedikit eksekusi ulang, dan lebih sedikit kegagalan pelatihan.

Anda dapat mengimpor data dari Amazon S3, Azure SQL, dan Snowflake.

Penting

Fitur ini masih dalam pratinjau umum. Versi pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas.

Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Prasyarat

Untuk membuat dan bekerja dengan aset data, Anda perlu:

Catatan

Untuk impor data yang berhasil, pastikan Anda menginstal paket azure-ai-ml terbaru (versi 1.15.0 atau yang lebih baru) untuk SDK, dan ekstensi ml (versi 2.15.1 atau yang lebih baru).

Jika Anda memiliki paket SDK atau ekstensi CLI yang lebih lama, silakan hapus yang lama dan instal yang baru dengan kode yang ditunjukkan di bagian tab. Ikuti instruksi untuk SDK dan CLI seperti yang ditunjukkan di sini:

Versi kode

az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.15.1 or later)

Mengimpor dari database eksternal sebagai aset data yang dapat diubah

Catatan

Database eksternal dapat memiliki format Snowflake, Azure SQL, dll.

Sampel kode berikut dapat mengimpor data dari database eksternal. connection yang menangani tindakan impor menentukan metadata sumber data database eksternal. Dalam sampel ini, kode mengimpor data dari sumber daya Snowflake. Koneksi menunjuk ke sumber Snowflake. Dengan sedikit modifikasi, koneksi dapat menunjuk ke sumber database Azure SQL dan sumber database Azure SQL. Aset type yang diimpor dari sumber database eksternal adalah mltable.

Buat YAML file <file-name>.yml:

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# Datastore: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: mltable
name: <name>
source:
  type: database
  query: <query>
  connection: <connection>
path: <path>

Selanjutnya, jalankan perintah berikut di CLI:

> az ml data import -f <file-name>.yml

Mengimpor data dari sistem file eksternal sebagai aset data folder

Catatan

Sumber daya data Amazon S3 dapat berfungsi sebagai sumber daya sistem file eksternal.

connection yang menangani tindakan impor data menentukan aspek sumber data eksternal. Koneksi mendefinisikan wadah Amazon S3 sebagai target. Koneksi mengharapkan nilai yang valid path . Nilai aset yang diimpor dari sumber sistem file eksternal memiliki type .uri_folder

Sampel kode berikutnya mengimpor data dari sumber daya Amazon S3.

Buat YAML file <file-name>.yml:

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# path: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: uri_folder
name: <name>
source:
  type: file_system
  path: <path_on_source>
  connection: <connection>
path: <path>

Selanjutnya, jalankan perintah ini di CLI:

> az ml data import -f <file-name>.yml

Periksa status impor sumber data eksternal

Tindakan impor data adalah tindakan asinkron. Ini bisa memakan waktu lama. Setelah pengiriman tindakan impor data melalui CLI atau SDK, layanan Azure Pembelajaran Mesin mungkin memerlukan beberapa menit untuk menyambungkan ke sumber data eksternal. Kemudian, layanan akan memulai impor data, dan menangani penembolokan dan pendaftaran data. Waktu yang diperlukan untuk impor data juga bergantung pada ukuran himpunan data sumber.

Contoh berikutnya mengembalikan status aktivitas impor data yang dikirimkan. Perintah atau metode menggunakan nama "aset data" sebagai input untuk menentukan status materialisasi data.

> az ml data list-materialization-status --name <name>

Langkah berikutnya