Delen via


SQL Server 2022 Machine Learning Services (Python en R) installeren in Linux

van toepassing op: SQL Server 2022 (16.x) - Linux

In dit artikel wordt u begeleid bij de installatie van SQL Server Machine Learning Services op Linux. Python- en R-scripts kunnen in de database worden uitgevoerd met Behulp van Machine Learning Services.

U kunt Machine Learning Services installeren op Ubuntu en Red Hat Enterprise Linux (RHEL). Momenteel wordt SUSE Linux Enterprise Server (SLES) niet ondersteund.

U kunt ML Services installeren op een Docker-container waarop een Linux-distributie wordt uitgevoerd. In de Docker-container zijn de stappen hetzelfde als hieronder.

Zie de sectie Ondersteunde platforms in de installatierichtlijnen voor SQL Server op Linuxvoor meer informatie.

Belangrijk

Dit artikel verwijst naar SQL Server 2022 (16.x). Voor SQL Server 2019 op Linux, zie Installatie van SQL Server 2019 Machine Learning Services (Python en R) op Linux. Zie SQL Server 2022 Machine Learning Services (Python en R) installeren in Windowsvoor SQL Server in Windows.

Controlelijst voor vooraf installeren

  • INSTALLEER SQL Server op Linux en controleer de installatie.

  • Controleer de SQL Server Linux-opslagplaatsen voor de Python- en R-extensies. Als u al bronopslagplaatsen hebt geconfigureerd voor de installatie van de database-engine, kunt u de mssql-server-extensibility pakketinstallatieopdrachten uitvoeren met dezelfde opslagplaatsregistratie.

  • U moet een hulpprogramma hebben voor het uitvoeren van T-SQL-opdrachten.

    • U kunt Azure Data Studiogebruiken, een gratis databaseprogramma dat draait op Linux, Windows en macOS.
  • Het SQL Server-exemplaar opnieuw opstarten tijdens dit installatieproces is vereist.

Pakketlijst

Op een apparaat met internetverbinding worden pakketten onafhankelijk van de database-engine gedownload en geïnstalleerd met behulp van het pakketinstallatieprogramma voor elk besturingssysteem.

Beschikbare installatiepakketten voor SQL Server 2022 (16.x) op Linux:

Pakketnaam Van toepassing op Beschrijving
mssql-server-extensibility Alle Uitbreidbaarheidsframework dat wordt gebruikt om Python en R uit te voeren.

Mssql-server-extensibility package installeren

  1. Opslagplaatsen configureren voor het installeren en upgraden van SQL Server op Linux die overeenkomen met de Linux-distributie. Installeer de sql Server-uitbreidbaarheidsfunctie met het pakket mssql-server-extensibility en de bijbehorende afhankelijkheid libssl-dev.

    Ubuntu

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

    RHEL

    yum install mssql-server-extensibility
    
  2. Controleer en accepteer de gebruiksrechtovereenkomst (EULA) voor SQL Server ML Services.

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

    Als u de acceptatie van de gebruiksrechtovereenkomst wilt voltooien, moet het SQL Server-exemplaar opnieuw worden gestart.

    sudo systemctl restart mssql-server
    

Runtimes en pakketten installeren

R-ondersteuning instellen

R Runtime installeren

  1. Download en installeer de gewenste versie van R. Kies een versie van R 4.2 of hoger, die direct beschikbaar is voor download vanuit cran.r-project.org. Volg de instructies voor de gewenste uitvoeringsomgeving.

  2. Open een beheer-R-terminal:

    sudo R
    
  3. Installeer afhankelijkheden voor CompatibilityAPI en RevoScaleR door het volgende uit te voeren:

    # 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. Download en installeer CompatibilityAPI en RevoScaleR voor 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. Controleer RevoScaleR installatie vanuit de R-terminal.

    library("RevoScaleR")
    

R-runtime configureren met SQL Server

  1. Configureer de geïnstalleerde R-runtime met SQL Server voor Linux, waarbij path/to/ het bestandspad naar het binaire R-bestand is en RFolderVersion de versiespecifieke mapnaam is voor de installatie van R Runtime, bijvoorbeeld 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. Start de Launchpadd-service opnieuw.

    systemctl restart mssql-launchpadd.service
    
  3. Configureer SQL Server voor Linux om externe scripts toe te staan met behulp van de sp_configure door het systeem opgeslagen procedure.

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  4. Controleer de installatie door een eenvoudige T-SQL-opdracht uit te voeren om de versie van R te retourneren:

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

Python-ondersteuning instellen

Python-runtime installeren

  1. Download en installeer Python. Kies specifiek versie Python 3.10, rechtstreeks te downloaden vanuit python.org. Volg de opgegeven instructies. Installeer ook de gedeelde python-runtimebibliotheek voor de runtimeversie. Als u bijvoorbeeld libpython3.10 voor Ubuntu wilt installeren: sudo apt-get install libpython3.10.

  2. Download en installeer revoscalepy voor de hoofdgebruiker.

    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. Controleer de revoscalepy installatie vanuit de Python-terminal. Controleer of de bibliotheek kan worden geïmporteerd.

    import revoscalepy
    

Python-runtime configureren met SQL Server

  1. Configureer de geïnstalleerde Python-runtime met SQL Server, waarbij pythonbinpath is ingesteld op het pad van het geïnstalleerde binaire Python-bestand en datadirectories het pad bevat waar de pakketten zijn geïnstalleerd voor de gewenste versie van Python, bijvoorbeeld /usr/lib/python3.10/dist-packages. Gebruik het volgende script met het werkelijke installatiepad:

    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. Start de Launchpadd-service opnieuw.

    systemctl restart mssql-launchpadd.service
    
  3. Configureer SQL Server voor Linux om externe scripts toe te staan met behulp van de sp_configure door het systeem opgeslagen procedure.

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  4. Controleer de installatie door een eenvoudige T-SQL-opdracht uit te voeren om de versie van Python te retourneren:

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

Java installeren

Zie Install SQL Server Java Language Extension op Linuxom de Java-taalextensie te installeren.

Installatie controleren

Gebruik een van de volgende methoden om de installatie te valideren:

  • Voer een T-SQL-script uit waarmee een door het systeem opgeslagen procedure wordt uitgevoerd die Python of R aanroept met behulp van een queryhulpprogramma.

  • Voer de volgende SQL-opdracht uit om R-uitvoering te testen in SQL Server. Fouten? Probeer een service opnieuw op te starten 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
    
  • Voer de volgende SQL-opdracht uit om de uitvoering van Python in SQL Server te testen.

    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
    

Offline-installatie

Volg de offline-installatie instructies voor het installeren van de pakketten. Zoek uw downloadsite en download vervolgens specifieke pakketten met behulp van de onderstaande pakketlijst.

Tip

Verschillende hulpprogramma's voor pakketbeheer bieden opdrachten waarmee u pakketafhankelijkheden kunt bepalen. Gebruik sudo yum deplist [package]voor yum. Gebruik voor Ubuntu sudo apt-get install --reinstall --download-only [package name] gevolgd door dpkg -I [package name].deb.

Zelfstandige RevoScale-pakketten voor Python- en R-runtime

RevoScale-pakketten worden ook ondersteund als zelfstandig pakket met Python- en R-runtimes. Als u Python- of R-runtime wilt instellen voor het zelfstandige scenario, volgt u de instructies in respectievelijk de secties Python-runtime installeren en R-runtime installeren secties.