Differenze principali tra Machine Learning Services in Istanza gestita di SQL di Azure e SQL Server
Questo articolo descrive le poche differenze principali nelle funzionalità tra Machine Learning Services in Istanza gestita di SQL di Azure e Machine Learning Services per SQL Server.
Supporto linguistico
Machine Learning Services sia in Istanza gestita di SQL che in SQL Server supportano il framework di estensibilità Python e R . Una differenza fondamentale in Istanza gestita di SQL è che sono supportati solo Python e R e non è possibile aggiungere linguaggi esterni come Java.
Le versioni iniziali di Python e R sono diverse in Istanza gestita di SQL e SQL Server:
Piattaforma | Versione del runtime python | Versioni di runtime di R |
---|---|---|
Istanza gestita di SQL di Azure | 3.7.2 | 3.5.2 |
SQL Server 2022 * | - | - |
SQL Server 2019 | 3.7.1 | 3.5.2 |
SQL Server 2017 | 3.5.2 e 3.7.2 (CU22 e versioni successive) | 3.3.3 e 3.5.2 (CU22 e versioni successive) |
SQL Server 2016 | Non disponibile | 3.2.2 e 3.5.2 (SP2 CU14 e versioni successive) |
* A partire da SQL Server 2022, i runtime per R, Python e Java non vengono più forniti o installati all'interno del programma di installazione di SQL. Installare invece i pacchetti e i runtime personalizzati R e/o Python desiderati. Per altre informazioni, vedere Installare (Install) SQL Server 2022 Machine Learning Services (Python e R) su Windows.
Pacchetti Python e R
Non è disponibile alcun supporto in Istanza gestita di SQL per i pacchetti che dipendono da runtime esterni (ad esempio Java) o che devono accedere alle API del sistema operativo per l'installazione o l'utilizzo.
Per altre informazioni sulla gestione dei pacchetti Python e R, vedere:
Gestire i pacchetti tramite sqlmlutils
È possibile installare pacchetti binari con sqlmlutils
, se è possibile compilare localmente per produrre un pacchetto binario come output. Per esempi, vedere Installare pacchetti R con sqlmlutils o installare pacchetti Python con sqlmlutils.
Governance delle risorse
In Istanza gestita di SQL non è possibile limitare le risorse R tramite Resource Governore i pool di risorse esterni non sono supportati.
Per impostazione predefinita, le risorse R sono impostate su un massimo di 20% delle risorse di Istanza gestita di SQL disponibili quando è abilitata l'estendibilità. Per modificare questa percentuale predefinita, creare un ticket di supporto di Azure in https://azure.microsoft.com/support/create-ticket/.
L'estendibilità è abilitata con i comandi SQL seguenti (Istanza gestita di SQL verrà riavviata e non sarà disponibile per alcuni secondi):
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Per disabilitare l'estendibilità e ripristinare 100% di risorse di memoria e CPU in SQL Server, usare i comandi seguenti:
sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;
Le risorse totali disponibili per Istanza gestita di SQL dipendono dal livello di servizio scelto. Per altre informazioni, vedere modelli di acquisto del database SQL di Azure.
Errore di memoria insufficiente
L'utilizzo della memoria dipende dalla quantità usata negli script R e dal numero di query parallele in esecuzione. Se la memoria disponibile per R non è sufficiente, verrà visualizzato un messaggio di errore. I messaggi di errore comuni sono:
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.
Se si riceve uno di questi errori, è possibile risolverlo ridimensionando il database a un livello di servizio superiore.
Se si verificano errori di memoria insufficiente in Istanza gestita di SQL di Azure, esaminare sys.dm_os_out_of_memory_events.
Pool di Istanza gestita di SQL
I servizi di Machine Learning non sono attualmente supportati nei pool di Istanza gestita SQL di Azure (anteprima).
Accesso alla rete in uscita
L'accesso alla rete non è consentito o bloccato e non può essere abilitato. La connessione di rete in uscita per Istanza gestita di SQL di Azure non è disponibile per Machine Learning Services.
Passaggi successivi
- Consultare la panoramica Machine Learning Services in Istanza gestita di Azure SQL.
- Per informazioni su come usare Python in Machine Learning Services, vedere Eseguire script Python.
- Per informazioni su come usare R in Machine Learning Services, vedere Eseguire script R.