Delen via


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

Van toepassing op: SQL Server 2019 (15.x) op Linux

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

U kunt Machine Learning Services installeren op Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) en Ubuntu. Zie de sectie Ondersteunde platforms in de installatierichtlijnen voor SQL Server op Linux voor meer informatie.

Belangrijk

Deze instructies zijn specifiek voor SQL Server 2019 (15.x). Voor SQL Server 2022 (16.x), waar de installatie stappen anders zijn, raadpleegt u SQL Server 2022 Machine Learning Services (Python en R) installeren in Linux.

Controlelijst vooraf installeren

  • Installatierichtlijnen voor SQL Server in Linux en de installatie controleren.

  • 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 installatieopdrachten van het mssql-mlservices-pakket uitvoeren met dezelfde opslagplaatsregistratie.

  • (alleen R) Microsoft R Open (MRO) biedt de basis-R-distributie voor de R-functie in SQL Server en is een vereiste voor het gebruik van RevoScaleR-, MicrosoftML- en andere R-pakketten die zijn geïnstalleerd met Machine Learning Services.

    • De vereiste versie is MRO 3.5.2.
    • Registreer de packages.microsoft.com opslagplaats zoals verderop in dit artikel wordt beschreven om de MRO-distributie te installeren: microsoft-r-open-mro en microsoft-r-open-mkl.
    • Zie de installatiesecties verderop in dit artikel voor het installeren van MRO.
  • U moet een hulpprogramma hebben voor het uitvoeren van T-SQL-opdrachten.

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. In de volgende tabel worden alle beschikbare pakketten beschreven, maar voor R en Python geeft u pakketten op die de volledige installatie of de minimale functie-installatie bieden.

Beschikbare installatiepakketten:

Naam van het pakket Van toepassing op Description
mssql-server-extensibility All Uitbreidbaarheidsframework dat wordt gebruikt om Python en R uit te voeren.
microsoft-openmpi Python, R Berichtdoorgifteinterface die wordt gebruikt door de Rev*-bibliotheken voor parallelle uitvoering in Linux.
mssql-mlservices-python Python Opensource-distributie van Anaconda en Python.
mssql-mlservices-mlm-py Python Volledige installatie. Biedt revoscalepy, microsoftml, kant-en-klaar getrainde modellen voor kenmerkextractie uit afbeeldingen en sentimentanalyse van tekst.
mssql-mlservices-packages-py Python Minimale installatie. Biedt revoscalepy en microsoftml.

Sluit vooraf getrainde modellen uit.
microsoft-r-open* R Opensource-distributie van R, samengesteld uit drie pakketten.
mssql-mlservices-mlm-r R Volledige installatie. Biedt: RevoScaleR, MicrosoftML, sqlRUtils, olapR, vooraf getrainde modellen voor afbeeldings-featurization en tekst sentimentanalyse.
mssql-mlservices-packages-r R Minimale installatie. Biedt RevoScaleR, sqlRUtils, MicrosoftML, olapR.

Sluit vooraf getrainde modellen uit.

Installeren op RHEL

Volg deze stappen om SQL Server Machine Learning Services te installeren op Red Hat Enterprise Linux (RHEL).

MRO installeren op RHEL

Met de volgende opdrachten registreert u de opslagplaats die MRO levert. Na de registratie bevatten de opdrachten voor het installeren van andere R-pakketten, zoals mssql-mlservices-mml-r, mrO automatisch als pakketafhankelijkheid.

# Import the Microsoft repository key

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

# Set the location of the package repo at the "prod" directory
# The following command is for version 8.x
# To get the version for 6.x or 7.x, replace 8 with 6 or 7, respectively.
rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm

# Update packages on your system (optional)
yum update

Installatieopties voor Python en R:

  • Installeer taalondersteuning op basis van uw vereisten (één of meerdere talen).
  • De volledige installatie biedt alle beschikbare functies, waaronder vooraf getrainde machine learning-modellen.
  • De minimale installatie sluit de modellen uit, maar heeft nog steeds alle functionaliteit.

Aanbeveling

Voer indien yum clean all mogelijk uit om pakketten op het systeem te vernieuwen vóór de installatie.

Volledige installatie

Bevat:

  • Opensource Python
  • Opensource R
  • Framework voor uitbreidbaarheid
  • Microsoft-openmpi
  • Extensies (Python, R)
  • Machine learning-bibliotheken
  • Vooraf getrainde modellen voor Python en R
# Install as root or sudo
# Add everything (all R, Python)
# Be sure to include -9.4.7* in mlservices package names
sudo yum install mssql-mlservices-mlm-py-9.4.7*
sudo yum install mssql-mlservices-mlm-r-9.4.7*

Minimale installatie

Bevat:

  • Opensource Python
  • Opensource R
  • Framework voor uitbreidbaarheid
  • Microsoft-openmpi
  • Core Revo*-bibliotheken
  • Machine learning-bibliotheken
# Install as root or sudo
# Minimum install of R, Python extensions
# Be sure to include -9.4.6* in mlservices package names
sudo yum install mssql-mlservices-packages-py-9.4.7*
sudo yum install mssql-mlservices-packages-r-9.4.7*

Installeren op Ubuntu

Volg deze stappen om SQL Server Machine Learning Services te installeren op Ubuntu.

MRO installeren in Ubuntu

Met de volgende opdrachten registreert u de opslagplaats die MRO levert. Na de registratie bevatten de opdrachten voor het installeren van andere R-pakketten, zoals mssql-mlservices-mml-r, mrO automatisch als pakketafhankelijkheid.

# Install as root
sudo su

# Optionally, if your system does not have the https apt transport option
apt-get install apt-transport-https

# If you are on Ubuntu 20.04, install the following package (MRO 3.5 has a dependency on libtinfo.so.5 in Ubuntu 20.04)
apt-get install libncurses5

# Set the location of the package repo the "prod" directory containing the distribution.
# This example specifies 20.04. Replace with 16.04 or 14.04 if you want those versions.
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb

# Register the repo
dpkg -i packages-microsoft-prod.deb

# Update packages on your system (required), including MRO installation
sudo apt-get update

Installatieopties voor Python en R:

  • Installeer taalondersteuning op basis van uw vereisten (één of meerdere talen).
  • De volledige installatie biedt alle beschikbare functies, waaronder vooraf getrainde machine learning-modellen.
  • De minimale installatie sluit de modellen uit, maar heeft nog steeds alle functionaliteit.

Aanbeveling

Voer indien apt-get update mogelijk uit om pakketten op het systeem te vernieuwen vóór de installatie.

Volledige installatie

Bevat:

  • Opensource Python
  • Opensource R
  • Framework voor uitbreidbaarheid
  • Microsoft-openmpi
  • Python-extensies
  • R-extensies
  • Machine learning-bibliotheken
  • Vooraf getrainde modellen voor Python en R
# Install as root or sudo
# Add everything (all R, Python)
# There is no asterisk in this full install
sudo apt-get install mssql-mlservices-mlm-py
sudo apt-get install mssql-mlservices-mlm-r

Minimale installatie

Bevat:

  • Opensource Python
  • Opensource R
  • Framework voor uitbreidbaarheid
  • Microsoft-openmpi
  • Core Revo*-bibliotheken
  • Machine learning-bibliotheken
# Install as root or sudo
# Minimum install of R, Python
# No asterisk
sudo apt-get install mssql-mlservices-packages-py
sudo apt-get install mssql-mlservices-packages-r

Installeren op SLES

Volg deze stappen om SQL Server Machine Learning Services te installeren op SUSE Linux Enterprise Server (SLES).

MRO installeren op SLES

Met de volgende opdrachten registreert u de opslagplaats die MRO levert. Na de registratie bevatten de opdrachten voor het installeren van andere R-pakketten, zoals mssql-mlservices-mml-r, mrO automatisch als pakketafhankelijkheid.

# Install as root
sudo su

# Set the location of the package repo at the "prod" directory containing the distribution
# This example is for SLES12
zypper ar -f https://packages.microsoft.com/sles/12/prod packages-microsoft-com

# Update packages on your system (optional)
zypper update

Installatieopties voor Python en R:

  • Installeer taalondersteuning op basis van uw vereisten (één of meerdere talen).
  • De volledige installatie biedt alle beschikbare functies, waaronder vooraf getrainde machine learning-modellen.
  • De minimale installatie sluit de modellen uit, maar heeft nog steeds alle functionaliteit.

Volledige installatie

Bevat:

  • Opensource Python
  • Opensource R
  • Framework voor uitbreidbaarheid
  • Microsoft-openmpi
  • Extensies voor Python en R
  • Machine learning-bibliotheken
  • Vooraf getrainde modellen voor Python en R
# Install as root or sudo
# Add everything (all R, Python)
sudo zypper install mssql-mlservices-mlm-py
sudo zypper install mssql-mlservices-mlm-r

Minimale installatie

Bevat:

  • Opensource Python
  • Opensource R
  • Framework voor uitbreidbaarheid
  • Microsoft-openmpi
  • Core Revo*-bibliotheken
  • Machine learning-bibliotheken
# Install as root or sudo
# Minimum install of R, Python extensions
sudo zypper install mssql-mlservices-packages-py
sudo zypper install mssql-mlservices-packages-r

Configuratie na installatie (vereist)

Aanvullende configuratie is voornamelijk via het hulpprogramma mssql-conf.

  1. Nadat de installatie van het pakket is voltooid, voert u mssql-conf setup uit en volgt u de aanwijzingen om het sa wachtwoord in te stellen en uw editie te kiezen. Voer deze stap alleen uit als SQL Server op Linux nog niet is geconfigureerd.

    sudo /opt/mssql/bin/mssql-conf setup
    
  2. Accepteer de licentieovereenkomsten voor opensource Python- en R-extensies. Gebruik de volgende opdracht:

    # Run as SUDO or root
    # Use set + EULA
    sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
    

    Setup detecteert de mssql-mlservices-pakketten en vraagt om eula-acceptatie (indien niet eerder geaccepteerd) wanneer mssql-conf setup deze wordt uitgevoerd. Zie SQL Server configureren met het hulpprogramma mssql-conf voor meer informatie over EULA-parameters.

  3. Uitgaande netwerktoegang inschakelen. Uitgaande netwerktoegang is standaard uitgeschakeld. Als u uitgaande aanvragen wilt inschakelen, stelt u de booleaanse eigenschap 'outboundnetworkaccess' in met behulp van het hulpprogramma mssql-conf. Zie SQL Server configureren in Linux met mssql-conf voor meer informatie.

    # Run as SUDO or root
    # Enable outbound requests over the network
    sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
    
  4. Stel voor R-functieintegratie alleen de MKL_CBWR omgevingsvariabele in om consistente uitvoer van MKL-berekeningen (Intel Math Kernel Library) te garanderen.

    • Bewerk of maak een bestand .bash_profile in de basismap van de gebruiker en voeg de regel export MKL_CBWR="AUTO" toe aan het bestand.

    • Voer dit bestand uit door te typen source .bash_profile bij een bash-opdrachtprompt.

  5. Start de SQL Server Launchpad-service en het exemplaar van de database-engine opnieuw op om de bijgewerkte waarden uit het INI-bestand te lezen. Er wordt een meldingsbericht weergegeven wanneer een instelling met betrekking tot uitbreidbaarheid wordt gewijzigd.

    systemctl restart mssql-launchpadd
    
    systemctl restart mssql-server.service
    
  6. Externe scriptuitvoering inschakelen. U kunt verbinding maken met een exemplaar van SQL Server met behulp van een vertrouwd SQL Server-clienthulpprogramma, zoals sqlcmd, SQL Server Management Studio (SSMS) of de MSSQL-extensie voor Visual Studio Code.

    EXECUTE sp_configure 'external scripts enabled', 1;
    
    RECONFIGURE WITH OVERRIDE;
    
  7. Start de Launchpad-service opnieuw op.

Installatie controleren

R-bibliotheken (MicrosoftML, RevoScaleR en andere) zijn te vinden op /opt/mssql/mlservices/libraries/RServer.

Python-bibliotheken (microsoftml en revoscalepy) zijn te vinden op /opt/mssql/mlservices/libraries/PythonServer.

De installatie 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 T-SQL-opdracht uit om R-uitvoering in SQL Server te testen. 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 T-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
    

Installatie zonder toezicht

Voeg met behulp van de installatie zonder toezicht voor de database-engine de pakketten voor mssql-mlservices en EULA's toe.

Gebruik een van de mlservices-specifieke EULA-parameters voor de opensource R- en Python-distributies:

sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml

De volledige gebruiksrechtovereenkomst wordt beschreven bij SQL Server configureren in Linux met het hulpprogramma mssql-conf.

Offline-installatie

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

Aanbeveling

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

Site downloaden

Download pakketten van https://packages.microsoft.com/. Alle pakketten voor Python en R zijn samen geplaatst met het mlservices database-enginepakket. De basisversie voor de mlservices pakketten is 9.4.6. Denk eraan dat de microsoft-r-open pakketten zich in een andere opslagplaats bevinden.

RHEL/8-paden

Package Downloadlocatie
mssql / mlservices Pakketten https://packages.microsoft.com/rhel/8/mssql-server-2019/
microsoft-r-open Pakketten https://packages.microsoft.com/rhel/8/prod/

Ubuntu/20.04 paden

Package Downloadlocatie
mssql / mlservices Pakketten https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019/pool/main/m/
microsoft-r-open Pakketten https://packages.microsoft.com/ubuntu/20.04/prod/pool/main/m/

SLES/12 paden

Package Downloadlocatie
mssql / mlservices Pakketten https://packages.microsoft.com/sles/12/mssql-server-2019/
microsoft-r-open Pakketten https://packages.microsoft.com/sles/12/prod/

Selecteer extensies die u wilt gebruiken en download de pakketten die nodig zijn voor een specifieke taal. De bestandsnamen bevatten platforminformatie in het achtervoegsel.

Pakketlijst

Afhankelijk van de extensies die u wilt gebruiken, downloadt u de pakketten die nodig zijn voor een specifieke taal. Exacte bestandsnamen bevatten platforminformatie in het achtervoegsel, maar de volgende bestandsnamen moeten dicht genoeg zijn om te bepalen welke bestanden moeten worden opgehaald.

# Core packages
mssql-server-15.0.1000
mssql-server-extensibility-15.0.1000

# R
microsoft-openmpi-3.0.0
microsoft-r-open-mkl-3.5.2
microsoft-r-open-mro-3.5.2
mssql-mlservices-packages-r-9.4.7.64
mssql-mlservices-mlm-r-9.4.7.64

# Python
microsoft-openmpi-3.0.0
mssql-mlservices-python-9.4.7.64
mssql-mlservices-packages-py-9.4.7.64
mssql-mlservices-mlm-py-9.4.7.64