Installare SQL Server 2022 Machine Learning Services (Python e R) in Linux

Si applica a: SQL Server 2022 (16.x) su Linux

Questo articolo illustra l'installazione di SQL Server Machine Learning Services in Linux. Gli script Python e R possono essere eseguiti nel database usando Machine Learning Services.

È possibile installare i servizi di Machine Learning in Ubuntu e Red Hat Enterprise Linux (RHEL). SUSE Linux Enterprise Server (SLES) non è supportato.

Puoi installare Machine Learning Services su un container Docker che esegue una distribuzione Linux. All'interno del container Docker, i passaggi sono gli stessi:

Per altre informazioni, vedere la sezione delle piattaforme supportate nelle linee guida per l'installazione di SQL Server in Linux.

Importante

Questo articolo fa riferimento a SQL Server 2022 (16.x). Per SQL Server 2019 su Linux, vedi Install SQL Server 2019 Machine Learning Services (Python e R) su Linux. Per SQL Server in Windows, vedere Installare Machine Learning Services (Python e R) per SQL Server 2022 in Windows.

Elenco di controllo preliminare all'installazione

  • Installare SQL Server in Linux e verificare l'installazione.

  • Controllare i repository di SQL Server Linux per le estensioni Python e R. Se i repository di origine per l'installazione del motore di database sono già stati configurati, è possibile eseguire i comandi di installazione del pacchetto mssql-server-extensibility usando la stessa registrazione dei repository.

  • È necessario avere uno strumento per eseguire i comandi Transact-SQL (T-SQL).

  • Sarà necessario riavviare l'istanza di SQL Server durante questo processo di installazione.

Elenco di pacchetti

In un dispositivo connesso a Internet i pacchetti vengono scaricati e installati in modo indipendente dal motore di database usando il programma di installazione del pacchetto per ogni sistema operativo.

Il seguente pacchetto di installazione è disponibile per SQL Server 2022 (16.x) su Linux:

Nome del pacchetto Applicabile a Descrizione
mssql-server-extensibility Tutti Framework di estendibilità usato per eseguire Python e R.

Installare il pacchetto mssql-server-extensibility

  1. Configurare i repository per l'installazione e l'aggiornamento SQL Server in Linux corrispondenti alla distribuzione linux. Installare la funzionalità di estensibilità di SQL Server con il pacchetto mssql-server-extensibility e la dipendenza libssl-dev associata.

    Ubuntu

    sudo apt-get install mssql-server-extensibility libssl-dev
    

    RHEL

    yum install mssql-server-extensibility
    
  2. Esaminare e accettare l'Accordo di Licenza per l'Utente Finale (EULA) per i Servizi SQL Server Machine Learning.

    sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
    

    Per completare l'accettazione del contratto di licenza, è necessario riavviare l'istanza di SQL Server.

    sudo systemctl restart mssql-server
    

Configurare il supporto di R

Installare il runtime di R

  1. Scaricare e installare la versione di R desiderata. Scegliere la versione di R 4.2 o successiva, disponibile per il download direttamente da cran.r-project.org. Seguire le istruzioni per il runtime desiderato.

  2. Aprire un terminale R di amministrazione:

    sudo R
    
  3. Installare tutte le dipendenze per CompatibilityAPI e RevoScaleR eseguendo quanto segue:

    # R Terminal
    install.packages("iterators", lib="/usr/lib/R/library")
    install.packages("foreach", lib="/usr/lib/R/library")
    install.packages("R6", lib="/usr/lib/R/library")
    install.packages("jsonlite", lib="/usr/lib/R/library")
    
  4. Scaricare e installare CompatibilityAPI e RevoScaleR per Linux.

    install.packages("https://aka.ms/sqlml/r4.2/linux/CompatibilityAPI_1.1.0_R_x86_64-pc-linux-gnu.tar.gz", repos=NULL, lib="/usr/lib/R/library")
    install.packages("https://aka.ms/sqlml/r4.2/linux/RevoScaleR_10.0.1_R_x86_64-pc-linux-gnu.tar.gz", repos=NULL, lib="/usr/lib/R/library")
    
  5. Verificare l'installazione di RevoScaleR dal terminale R.

    library("RevoScaleR")
    

Configurare il runtime di R con SQL Server

  1. Configura il runtime R installato con SQL Server per Linux. I seguenti comandi utilizzano i percorsi di installazione predefiniti di R. Aggiorna i percorsi se hai installato R altrove.

    sudo /opt/mssql/bin/mssql-conf set extensibility rbinpath /usr/lib/R/bin/R
    sudo /opt/mssql/bin/mssql-conf set extensibility datadirectories /usr/lib/R
    
  2. Riavviare il servizio mssql-launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Configurare SQL Server per Linux per consentire l'esecuzione di script esterni tramite la stored procedure di sistema sp_configure.

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  4. Verificare l'installazione eseguendo un semplice comando T-SQL per restituire la versione di R:

    EXECUTE sp_execute_external_script
        @script = N'print(R.version)',
        @language = N'R';
    GO
    

Configurare il supporto per Python

Installare il runtime Python

  1. Scaricare e installare Python Scegli specificamente Python 3.10, disponibile per il download direttamente da python.org. Segui le istruzioni fornite. Inoltre, installa la libreria runtime condivisa Python per la versione runtime. Ad esempio, per installare libpython3.10 per Ubuntu: sudo apt-get install libpython3.10.

  2. Scaricare e installare revoscalepy per l'utente root.

    sudo pip install dill numpy==1.22.0 pandas patsy python-dateutil
    sudo pip install https://aka.ms/sqlml/python3.10/linux/revoscalepy-10.0.1-py3-none-any.whl --target=/usr/lib/python3.10/dist-packages
    
  3. Verificare l'installazione revoscalepy dal terminale python. Verificare la possibilità di importazione della libreria.

    import revoscalepy
    

Configurare il runtime di Python con SQL Server

  1. Configura il runtime Python installato con SQL Server, dove pythonbinpath è impostato sul percorso del binario Python installato, e datadirectories include il percorso in cui vengono installati i pacchetti per la versione desiderata di Python, ad esempio, /usr/lib/python3.10/dist-packages. Usare lo script seguente con il percorso di installazione effettivo:

    sudo /opt/mssql/bin/mssql-conf set extensibility pythonbinpath /usr/bin/python3.10
    sudo /opt/mssql/bin/mssql-conf set extensibility datadirectories /usr/lib:/usr/lib/python3.10/dist-packages
    
  2. Riavviare il servizio mssql-launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Configurare SQL Server per Linux per consentire l'esecuzione di script esterni tramite la stored procedure di sistema sp_configure.

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  4. Verifica l'installazione eseguendo un semplice comando T-SQL per restituire la versione di Python:

    EXECUTE sp_execute_external_script
        @script = N'import sys;print(sys.version)',
        @language = N'Python';
    GO
    

Installare Java

Per installare l'estensione del linguaggio Java, vedere Installare l'estensione del linguaggio Java di SQL Server in Linux.

Verifica l'installazione

Per convalidare l'installazione, usare uno dei metodi seguenti:

  • Esegui uno script T-SQL che esegue una stored procedure di sistema che richiama Python o R usando uno strumento di query.

  • Eseguire il comando SQL seguente per testare l'esecuzione di R in SQL Server. Errori? Provare a riavviare il servizio, sudo systemctl restart mssql-server.service.

    EXECUTE sp_execute_external_script
        @language = N'R',
        @script = N'
          OutputDataSet <- InputDataSet', @input_data_1 = N'SELECT 1 AS hello'
        WITH RESULT SETS
    (
            ([hello] INT NOT NULL)
    );
    GO
    
  • Eseguire il comando SQL seguente per testare l'esecuzione di Python in SQL Server.

    EXECUTE sp_execute_external_script
        @language = N'Python',
        @script = N'
          OutputDataSet = InputDataSet;
          ', @input_data_1 = N'SELECT 1 AS hello'
        WITH RESULT SETS
    (
            ([hello] INT NOT NULL)
    );
    GO
    

Installazione offline

Per la procedura di installazione dei pacchetti, seguire le istruzioni contenute in Installazione offline. Trova il sito di download e poi scarica pacchetti specifici usando la lista dei pacchetti sopra.

Tip

Molti degli strumenti di gestione dei pacchetti forniscono comandi che consentono di determinare le dipendenze dei pacchetti. Per yum, usare sudo yum deplist [package]. Per Ubuntu, usare sudo apt-get install --reinstall --download-only [package name] seguito da dpkg -I [package name].deb.

Pacchetti RevoScale standalone per runtime Python e R

I pacchetti RevoScale sono supportati anche come pacchetti standalone con runtime Python e R. Per impostare un runtime Python o R per lo scenario standalone, segui le istruzioni nelle sezioni Installa runtime Python e Installa R, rispettivamente.