Condividi tramite


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

Si applica a: SQL Server 2022 (16.x) - 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). Attualmente, SUSE Linux Enterprise Server (SLES) non è supportato.

È possibile installare ML Services in un contenitore Docker che esegue una distribuzione Linux. All'interno del contenitore Docker, i passaggi saranno uguali a quelli riportati di seguito.

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 in Linux, vedere Installare SQL Server 2019 Machine Learning Services (Python e R) in 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 T-SQL.

    • È possibile usare Azure Data Studio, uno strumento di database gratuito eseguito in Linux, Windows e macOS.
  • 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.

Pacchetti di installazione disponibili per SQL Server 2022 (16.x) in Linux:

Nome pacchetto Applicabile a Descrizione
mssql-server-extensibility Tutte le date 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 il Contratto di licenza con l'utente finale (contratto di licenza) per i servizi ML SQL Server.

    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
    

Installare runtime e pacchetti

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. Configurare il runtime R installato con SQL Server per Linux, dove path/to/ è il percorso del file verso il file binario R e RFolderVersion è il nome della cartella specifica della versione per l'installazione del runtime R, ad esempio R4.2.

    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 Launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Configurare SQL Server per Linux per consentire script esterni usando la stored procedure del 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 di Python

Installare il runtime di Python

  1. Scaricare e installare Python Scegliere la versione di Python 3.10, disponibile per il download direttamente da python.org. Seguire le istruzioni fornite. Installare anche la libreria di runtime di python condivisa per la versione di 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. Configurare il runtime di Python installato con SQL Server, dove pythonbinbath è impostato sul percorso del file binario di installazione python e datadirectories include il percorso in cui sono 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 Launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Configurare SQL Server per Linux per consentire script esterni usando la stored procedure del 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 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:

  • Eseguire uno script T-SQL che esegue un stored procedure di sistema richiamando Python o R con 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. Trovare il sito di download e quindi scaricare i pacchetti specifici usando l'elenco di pacchetti riportato di seguito.

Suggerimento

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 autonomi per Python e runtime R

I pacchetti RevoScale sono supportati anche come pacchetti autonomi con i runtime Python e R. Per configurare Python o il runtime R per lo scenario autonomo, attenersi alle istruzioni nelle sezioni Installare il runtime Python e Installare il runtime R.