Installare SQL Server Machine Learning Services (Python e R) in Docker
Si applica a: SQL Server 2019 (15.x) - Linux
Questo articolo illustra come installare SQL Server Machine Learning Services in Docker. È possibile usare Machine Learning Services per eseguire gli script Python e R nel database. Non vengono forniti contenitori predefiniti con Machine Learning Services. È possibile crearne uno dai contenitori di SQL Server usando un modello di esempio disponibile in GitHub.
Prerequisiti
Interfaccia della riga di comando di Git.
Motore Docker 1.8 o versioni successive in qualsiasi distribuzione di Linux. Per altre informazioni, vedere Get Docker (Ottenere Docker). SQL Server nei contenitori non è supportato in Windows o macOS per l'uso in produzione.
Vedere anche i requisiti di sistema per SQL Server in Linux.
Clonare il repository mssql-docker
Il comando seguente consente di clonare il repository git mssql-docker
in una directory locale.
Aprire un terminale Bash in Linux o Mac.
Creare una directory in cui mantenere una copia locale del repository mssql-docker.
Eseguire il comando git clone per clonare il repository mssql-docker:
git clone https://github.com/microsoft/mssql-docker mssql-docker
Creare un'immagine del contenitore di SQL Server su Linux
Completare i passaggi seguenti per creare l'immagine docker:
Passare alla directory mssql-mlservices:
/mssql-docker/linux/preview/examples/mssql-mlservices
Nella stessa directory eseguire il comando seguente:
docker build -t mssql-server-mlservices .
Eseguire il comando :
Importante
La variabile di ambiente
SA_PASSWORD
è deprecata. Utilizzare inveceMSSQL_SA_PASSWORD
.docker run -d -e MSSQL_PID=Developer -e ACCEPT_EULA=Y -e ACCEPT_EULA_ML=Y -e MSSQL_SA_PASSWORD=<password> -v <directory on the host OS>:/var/opt/mssql -p 1433:1433 mssql-server-mlservices
Nota
Per MSSQL_PID è possibile usare uno qualsiasi dei valori seguenti: Developer (gratuito), Express (gratuito), Enteprise (a pagamento), Standard (a pagamento). Se si usa un'edizione a pagamento, assicurarsi di avere acquistato una licenza. Sostituire (password) con la password effettiva. Il montaggio del volume con -v è facoltativo. Sostituire (directory sul sistema operativo host) con una directory effettiva in cui si prevede di montare i file di dati e di log del database.
Confermare eseguendo questo comando:
docker ps -a
Nota
Per creare l'immagine Docker è necessario installare pacchetti di dimensioni pari a diversi GB. Il completamento dell'esecuzione dello script potrebbe richiedere tempo, a seconda della larghezza di banda di rete.
Eseguire l'immagine del contenitore di SQL Server su Linux
Impostare le variabili di ambiente prima di eseguire il contenitore. Impostare la variabile di ambiente PATH_TO_MSSQL su una directory host:
export MSSQL_PID='Developer' export ACCEPT_EULA='Y' export ACCEPT_EULA_ML='Y' export PATH_TO_MSSQL='/home/mssql/'
Nota
Il processo di esecuzione delle edizioni di SQL Server di produzione nei contenitori è leggermente diverso. Per altre informazioni, vedere Configurare immagini dei contenitori SQL Server in Docker. Se si usano gli stessi nomi di contenitore e le stesse porte, il resto di questa procedura dettagliata funziona comunque con i contenitori di produzione.
Per visualizzare i contenitori, eseguire il comando
docker ps
:sudo docker ps -a
Se nella colonna STATUS è impostato lo stato Up, SQL Server è in esecuzione nel contenitore e in ascolto sulla porta specificata nella colonna PORTS. Se la colonna STATUS del contenitore di SQL Server è impostata su Exited, vedere la sezione relativa alla risoluzione dei problemi della guida alla configurazione.
Output:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 941e1bdf8e1d mcr.microsoft.com/mssql/server/mssql-server-linux "/bin/sh -c /opt/m..." About an hour ago Up About an hour 0.0.0.0:1401->1433/tcp sql1
Abilitare Machine Learning Services
Per abilitare Machine Learning Services, connettersi all'istanza di SQL Server ed eseguire l'istruzione T-SQL seguente:
EXEC sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE
Contenuto correlato
Gli sviluppatori di Python possono apprendere come usare Python con SQL Server seguendo queste esercitazioni:
- Esercitazione Python: Stimare il noleggio di sci con la regressione lineare in servizi di Machine Learning di SQL Server
- Esercitazione Python: Classificazione dei clienti tramite clustering K-Means con servizi di Machine Learning di SQL Server
Gli sviluppatori R possono iniziare alcuni semplici esempi e con le nozioni di base sul funzionamento di R con SQL Server. Per il passaggio successivo, vedere i collegamenti seguenti: