Installera SQL Server 2019 Machine Learning Services (Python och R) på Linux

Gäller för: SQL Server 2019 (15.x) på Linux

Den här artikeln beskriver hur du installerar SQL Server Machine Learning Services i Linux. Python- och R-skript kan köras i databasen med hjälp av Machine Learning Services.

Du kan installera Machine Learning Services på Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) och Ubuntu. Mer information finns i avsnittet Plattformar som stöds i installationsvägledningen för SQL Server i Linux.

Viktigt!

Dessa instruktioner är specifika för SQL Server 2019 (15.x). För SQL Server 2022 (16.x), där installationsstegen skiljer sig åt, kan du läsa Installera SQL Server 2022 Machine Learning Services (Python och R) på Linux.

Förinstallera checklista

  • Installationsvägledning för SQL Server i Linux och verifiera installationen.

  • Kontrollera SQL Server Linux-lagringsplatserna för Python- och R-tilläggen. Om du redan har konfigurerat källlagringsplatser för installationen av databasmotorn kan du köra installationskommandona för mssql-mlservices-paketet med samma lagringsplatsregistrering.

  • (Endast R) Microsoft R Open (MRO) tillhandahåller den grundläggande R-distributionen för R-funktionen i SQL Server och är en förutsättning för att använda RevoScaleR, MicrosoftML och andra R-paket som installerats med Machine Learning Services.

    • Den version som krävs är MRO 3.5.2.
    • Registrera repo packages.microsoft.com enligt beskrivningen i denna artikel för att installera MRO-distributionen: microsoft-r-open-mro och microsoft-r-open-mkl.
    • Mer information om hur du installerar MRO finns i installationsavsnitten senare i den här artikeln.
  • Du bör ha ett verktyg för att köra T-SQL-kommandon.

Paketlista

På en Internetansluten enhet laddas paket ned och installeras oberoende av databasmotorn med hjälp av paketinstallationsprogrammet för varje operativsystem. I följande tabell beskrivs alla tillgängliga paket, men för R och Python anger du paket som tillhandahåller antingen fullständig funktionsinstallation eller minsta funktionsinstallation.

Tillgängliga installationspaket:

Paketnamn Gäller för Description
mssql-server-extensibility Allt Utökningsbarhetsramverk som används för att köra Python och R.
microsoft-openmpi Python, R Gränssnitt för meddelandeöverföring som används av Rev*-biblioteken för parallellisering i Linux.
mssql-mlservices-python python Distribution med öppen källkod för Anaconda och Python.
mssql-mlservices-mlm-py python Fullständig installation. Tillhandahåller revoscalepy-, microsoftml-, förträningsmodeller för bildfunktionalisering och textsentimentanalys.
mssql-mlservices-packages-py python Minsta installation. Tillhandahåller revoscalepy och microsoftml.

Exkluderar förtränade modeller.
microsoft-r-open* R Distribution med öppen källkod av R, som består av tre paket.
mssql-mlservices-mlm-r R Fullständig installation. Tillhandahåller: RevoScaleR, MicrosoftML, sqlRUtils, olapR, förträrade modeller för bildfunktionalisering och textsentimentanalys.
mssql-mlservices-packages-r R Minsta installation. Tillhandahåller RevoScaleR, sqlRUtils, MicrosoftML, olapR.

Exkluderar förutbildade modeller.

Installera på RHEL

Följ de här stegen för att installera SQL Server Machine Learning Services på Red Hat Enterprise Linux (RHEL).

Installera MRO på RHEL

Följande kommandon registrerar lagringsplatsen som tillhandahåller MRO. Efter registreringen inkluderar kommandona för att installera andra R-paket, till exempel mssql-mlservices-mml-r, automatiskt MRO som ett paketberoende.

# 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

Installationsalternativ för Python och R:

  • Installera språkstöd baserat på dina krav (enkla eller flera språk).
  • Den fullständiga installationen innehåller alla tillgängliga funktioner, inklusive förtränad maskininlärningsmodeller.
  • Den minimala installationen exkluderar modellerna men har fortfarande alla funktioner.

Tips/Råd

Om möjligt kör du yum clean all för att uppdatera paket i systemet före installationen.

Fullständig installation

Innehåller:

  • Python med öppen källkod
  • R med öppen källkod
  • Utökningsramverk
  • Microsoft-openmpi
  • Tillägg (Python, R)
  • Maskininlärningsbibliotek
  • Förtränade modeller för Python och 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*

Minsta installation

Innehåller:

  • Python med öppen källkod
  • R med öppen källkod
  • Utökningsramverk
  • Microsoft-openmpi
  • Core Revo*-bibliotek
  • Maskininlärningsbibliotek
# 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*

Installera på Ubuntu

Följ de här stegen för att installera SQL Server Machine Learning Services på Ubuntu.

Installera MRO på Ubuntu

Följande kommandon registrerar lagringsplatsen som tillhandahåller MRO. Efter registreringen inkluderar kommandona för att installera andra R-paket, till exempel mssql-mlservices-mml-r, automatiskt MRO som ett paketberoende.

# 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

Installationsalternativ för Python och R:

  • Installera språkstöd baserat på dina krav (enkla eller flera språk).
  • Den fullständiga installationen innehåller alla tillgängliga funktioner, inklusive förtränade maskininlärningsmodeller.
  • Den minimala installationen exkluderar modellerna men har fortfarande alla funktioner.

Tips/Råd

Om möjligt kör du apt-get update för att uppdatera paket i systemet före installationen.

Fullständig installation

Innehåller:

  • Python med öppen källkod
  • R med öppen källkod
  • Utökningsramverk
  • Microsoft-openmpi
  • Python-tillägg
  • R-tillägg
  • Maskininlärningsbibliotek
  • Förtränade modeller för Python och 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

Minimiinstallation

Innehåller:

  • Python med öppen källkod
  • R med öppen källkod
  • Utökningsramverk
  • Microsoft-openmpi
  • Core Revo*-bibliotek
  • Maskininlärningsbibliotek
# 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

Installera på SLES

Följ de här stegen för att installera SQL Server Machine Learning Services på SUSE Linux Enterprise Server (SLES).

Installera MRO på SLES

Följande kommandon registrerar lagringsplatsen som tillhandahåller MRO. Efter registreringen inkluderar kommandona för att installera andra R-paket, till exempel mssql-mlservices-mml-r, automatiskt MRO som ett paketberoende.

# 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

Installationsalternativ för Python och R:

  • Installera språkstöd baserat på dina krav (enkla eller flera språk).
  • Den fullständiga installationen innehåller alla tillgängliga funktioner, inklusive de förtränade maskininlärningsmodellerna.
  • Den minimala installationen exkluderar modellerna men har fortfarande alla funktioner.

Fullständig installation

Innehåller:

  • Python med öppen källkod
  • R med öppen källkod
  • Utökningsramverk
  • Microsoft-openmpi
  • Tillägg för Python och R
  • Maskininlärningsbibliotek
  • Förtränade modeller för Python och 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

Minsta installation

Innehåller:

  • Python med öppen källkod
  • R med öppen källkod
  • Utökningsramverk
  • Microsoft-openmpi
  • Core Revo*-bibliotek
  • Maskininlärningsbibliotek
# 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

Konfiguration efter installationen (krävs)

Ytterligare konfiguration sker främst via verktyget mssql-conf.

  1. När paketinstallationen är klar kör du installationen mssql-conf och följer anvisningarna för att ange sa lösenordet och välja din utgåva. Utför endast det här steget om SQL Server på Linux inte har konfigurerats ännu.

    sudo /opt/mssql/bin/mssql-conf setup
    
  2. Godkänn licensavtalen för Python- och R-tillägg med öppen källkod. Använd följande kommando:

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

    Installationsprogrammet identifierar mssql-mlservices-paketen och uppmanar till godkännande av EULA (om det inte godkänns tidigare) när mssql-conf setup körs. Mer information om EULA-parametrar finns i Konfigurera SQL Server med verktyget mssql-conf.

  3. Aktivera utgående nätverksåtkomst. Utgående nätverksåtkomst är inaktiverad som standard. Om du vill aktivera utgående begäranden anger du den booleska egenskapen "outboundnetworkaccess" med hjälp av verktyget mssql-conf. Mer information finns i Konfigurera SQL Server på Linux med mssql-conf.

    # Run as SUDO or root
    # Enable outbound requests over the network
    sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
    
  4. Endast för R-funktionsintegrering anger du MKL_CBWR miljövariabeln för att säkerställa konsekventa utdata från MKL-beräkningar (Intel Math Kernel Library).

    • Redigera eller skapa en fil .bash_profile i användarens hemkatalog och lägg till raden export MKL_CBWR="AUTO" i filen.

    • Kör den här filen genom att source .bash_profile skriva i en bash-kommandotolk.

  5. Starta om SQL Server Launchpad-tjänsten och databasmotorinstansen för att läsa de uppdaterade värdena från INI-filen. Ett meddelande visas när en utökningsrelaterad inställning ändras.

    systemctl restart mssql-launchpadd
    
    systemctl restart mssql-server.service
    
  6. Aktivera körning av externa skript. Du kan ansluta till en instans av SQL Server med alla välbekanta SQL Server-klientverktyg, till exempel sqlcmd, SQL Server Management Studio (SSMS) eller MSSQL-tillägget för Visual Studio Code.

    EXECUTE sp_configure 'external scripts enabled', 1;
    
    RECONFIGURE WITH OVERRIDE;
    
  7. Starta om Launchpad-tjänsten igen.

Kontrollera installation

R-bibliotek (MicrosoftML, RevoScaleR och andra) finns på /opt/mssql/mlservices/libraries/RServer.

Python-bibliotek (microsoftml och revoscalepy) finns på /opt/mssql/mlservices/libraries/PythonServer.

Så här verifierar du installationen:

  • Kör ett T-SQL-skript som kör en system lagrad procedur som anropar Python eller R med hjälp av ett frågeverktyg.

  • Kör följande T-SQL-kommando för att testa R-körningen i SQL Server. Fel? Prova en tjänstomstart, 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
    
  • Kör följande T-SQL-kommando för att testa Python-körningen i 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
    

Obevakad installation

Med den obevakade installationen för databasmotorn lägger du till paketen för mssql-mlservices och EULAs.

Använd någon av de mlservices-specifika EULA-parametrarna för R- och Python-distributioner med öppen källkod:

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

Det fullständiga serviceavtalet finns dokumenterat i Konfigurera SQL Server på Linux med verktyget mssql-conf.

Offline-installation

Följ installationsanvisningarna offline för anvisningar om hur du installerar paketen. Leta upp din nedladdningswebbplats och ladda sedan ned specifika paket med hjälp av den paketlista som följer.

Tips/Råd

Flera av pakethanteringsverktygen innehåller kommandon som kan hjälpa dig att fastställa paketberoenden. För yum använder du sudo yum deplist [package]. För Ubuntu använder du sudo apt-get install --reinstall --download-only [package name] följt av dpkg -I [package name].deb.

Ladda ned webbplats

Ladda ned paket från https://packages.microsoft.com/. Alla paket för mlservices Python och R är samlokaliserade med databasmotorpaketet. Basversionen för paketen mlservices är 9.4.6. Kom ihåg att microsoft-r-open-paketen finns på en annan lagringsplats.

RHEL/8-sökvägar

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

Ubuntu/20.04-sökvägar

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

SLES/12-sökvägar

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

Välj tillägg som du vill använda och ladda ned de paket som behövs för ett visst språk. Filnamnen innehåller plattformsinformation i suffixet.

Paketlista

Beroende på vilka tillägg du vill använda laddar du ned de paket som behövs för ett visst språk. Exakta filnamn innehåller plattformsinformation i suffixet, men följande filnamn bör vara tillräckligt nära för att du ska kunna avgöra vilka filer som ska hämtas.

# 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