Perbedaan utama antara Machine Learning Services di Azure SQL Managed Instance dan SQL Server
Artikel ini menjelaskan beberapa, perbedaan utama dalam fungsionalitas antara Layanan Pembelajaran Mesin di Azure SQL Managed Instance dan Layanan Pembelajaran Mesin SQL Server.
Dukungan bahasa
Layanan Pembelajaran Mesin baik dalam SQL Managed Instance dan SQL Server mendukung kerangka kerja ekstensibilitasPython dan R. Perbedaan utama dalam SQL Managed Instance adalah bahwa hanya Python dan R yang didukung, dan bahasa eksternal seperti Java tidak dapat ditambahkan.
Versi awal Python dan R berbeda dalam SQL Managed Instance dan SQL Server:
Platform | Versi runtime Python | Versi runtime R |
---|---|---|
Instans Terkelola Azure SQL | 3.7.2 | 3.5.2 |
SQL Server 2022 * | - | - |
SQL Server 2019 | 3.7.1 | 3.5.2 |
SQL Server 2017 | 3.5.2 dan 3.7.2 (CU22 dan yang lebih baru) | 3.3.3 dan 3.5.2 (CU22 dan yang lebih baru) |
SQL Server 2016 | Tidak tersedia | 3.2.2 dan 3.5.2 (SP2 CU14 dan yang lebih baru) |
* Dimulai dengan SQL Server 2022, runtime untuk R, Python, dan Java, tidak lagi dikirim atau diinstal dalam Penyiapan SQL. Sebagai gantinya, instal runtime dan paket kustom R dan/atau Python yang Anda inginkan. Untuk informasi selengkapnya, lihat Menginstal SQL Server 2022 Pembelajaran Mesin Services (Python dan R) di Windows.
Paket Python dan R
Tidak ada dukungan dalam SQL Managed Instance untuk paket yang bergantung pada runtime eksternal (seperti Java) atau memerlukan akses ke API OS untuk instalasi atau penggunaan.
Untuk informasi selengkapnya tentang mengelola paket Python dan R, lihat:
Mengelola paket melalui sqlmlutils
Anda dapat menginstal paket biner dengan sqlmlutils
, jika Anda dapat membangun secara lokal untuk menghasilkan paket biner sebagai output. Misalnya, lihat Menginstal paket R dengan sqlmlutils atau Menginstal paket Python dengan sqlmlutils.
Tata kelola sumber daya
Dalam SQL Managed Instance, Anda tidak dapat membatasi sumber daya R melalui Resource Governor, dan kumpulan sumber daya eksternal tidak didukung.
Secara default, sumber daya R diatur ke maksimum 20% dari sumber daya SQL Managed Instance yang tersedia saat ekstensibilitas diaktifkan. Untuk mengubah persentase default ini, buat tiket dukungan Azure di https://azure.microsoft.com/support/create-ticket/.
Ekstensibilitas diaktifkan dengan perintah SQL berikut (SQL Managed Instance akan dimulai ulang dan tidak tersedia selama beberapa detik):
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Untuk menonaktifkan ekstensifikasi dan memulihkan 100% sumber daya memori dan CPU ke SQL Server, gunakan perintah berikut:
sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;
Total sumber daya yang tersedia untuk SQL Managed Instance bergantung pada tingkat layanan yang Anda pilih. Untuk informasi selengkapnya, lihat Model pembelian Azure SQL Database.
Kesalahan memori tidak mencukupi
Penggunaan memori bergantung pada seberapa banyak yang digunakan dalam skrip R Anda, dan jumlah kueri paralel yang dijalankan. Jika memori tersedia untuk R tidak mencukupi, Anda akan mendapatkan pesan kesalahan. Pesan kesalahan umum adalah:
Unable to communicate with the runtime for 'R' script for request id: *******. Please check the requirements of 'R' runtime
'R' script error occurred during execution of 'sp_execute_external_script' with HRESULT 0x80004004. ...an external script error occurred: "..could not allocate memory (0 Mb) in C function 'R_AllocStringBuffer'"
An external script error occurred: Error: cannot allocate vector of size.
Jika Anda menerima salah satu kesalahan ini, Anda dapat mengatasinya dengan menskalakan database Anda ke tingkat layanan yang lebih tinggi.
Jika Anda menemukan kesalahan kehabisan memori di Azure SQL Managed Instance, tinjau sys.dm_os_out_of_memory_events.
Kumpulan SQL Managed Instance
Layanan Pembelajaran Mesin saat ini tidak didukung pada kumpulan Azure SQL Managed Instance (pratinjau).
Akses jaringan keluar
Akses jaringan tidak diizinkan atau diblokir dan tidak dapat diaktifkan. Koneksi jaringan keluar untuk Azure SQL Managed Instance tidak tersedia untuk Pembelajaran Mesin Services.
Langkah berikutnya
- Lihat gambaran umumnya, Layanan Pembelajaran Mesin di Azure SQL Managed Instance.
- Untuk mempelajari cara menggunakan Python di Layanan Pembelajaran Mesin, lihat Menjalankan skrip Python.
- Untuk mempelajari cara menggunakan R di Layanan Pembelajaran Mesin, lihat Menjalankan skrip R.