Installieren von SQL Server 2022 Machine Learning Services (Python und R) unter Linux

Gilt für: SQL Server 2022 (16.x) – Linux

In diesem Artikel werden Sie durch die Installation von SQL Server Machine Learning Services unter Linux geführt. Python- und R-Skripts können mit Machine Learning Services in einer Datenbank ausgeführt werden.

Sie können Machine Learning Services unter Ubuntu und Red Hat Enterprise Linux (RHEL) installieren. SUSE Linux Enterprise Server (SLES) wird derzeit nicht unterstützt.

Sie können ML Services in einem Docker-Container mit einer Linux-Distribution installieren. Innerhalb des Docker-Containers sind die Schritte die gleichen wie unten.

Weitere Informationen finden Sie im Abschnitt „Unterstützte Plattformen“ im Leitfaden für die Installation von SQL Server unter Linux.

Wichtig

Dieser Artikel bezieht sich auf SQL Server 2022 (16.x). Informationen zu SQL Server 2019 für Linux finden Sie unter Installieren von SQL Server 2019 Machine Learning Services (Python und R) unter Linux. Weitere Informationen zu SQL Server unter Windows finden Sie unter Installieren von SQL Server 2022 Machine Learning Services (Python und R) unter Windows.

Prüfliste vor der Installation

  • Installieren Sie SQL Server für Linux, und überprüfen Sie die Installation.

  • Suchen Sie in den SQL Server für Linux-Repositorys nach den Python- und R-Erweiterungen. Wenn Sie bereits Quellcoderepositorys für die Installation der Datenbank-Engine konfiguriert haben, können Sie die Installationsbefehle für das Paket mssql-server-extensibility mit derselben Repositoryregistrierung ausführen.

  • Sie sollten über ein Tool zum Ausführen von T-SQL-Befehlen verfügen.

    • Sie können z. B. Azure Data Studio verwenden, ein kostenloses Datenbanktool, das unter Linux, Windows und macOS ausgeführt werden kann.
  • Im Zuge dieses Installationsvorgangs ist ein Neustart der SQL Server-Instanz erforderlich.

Paketliste

Auf einem mit dem Internet verbundenen Gerät werden Pakete unabhängig von der Datenbank-Engine mithilfe des Paketinstallationsprogramms für das betreffende Betriebssystem heruntergeladen und installiert.

Verfügbare Installationspakete für SQL Server 2022 (16.x) unter Linux:

Paketname Gilt für BESCHREIBUNG
mssql-server-extensibility All Erweiterbarkeitsframework zum Ausführen von Python und R

Installieren des Pakets „mssql-server-extensibility“

  1. Konfigurieren Sie Linux-Repositorys gemäß Linux-Distribution. Installieren Sie das SQL Server-Erweiterbarkeitsfeature mit dem mssql-server-extensibility-Paket und der zugehörigen Abhängigkeit libssl-dev.

    Ubuntu

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

    RHEL

    yum install mssql-server-extensibility
    
  2. Überprüfen und akzeptieren Sie den Endbenutzer-Lizenzvertrag (End User License Agreement, EULA) für SQL Server Machine Learning Services.

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

    Um die Zustimmung zum Endbenutzer-Lizenzvertrag abzuschließen, muss die SQL Server-Instanz neu gestartet werden.

    sudo systemctl restart mssql-server
    

Installieren von Runtimes und Paketen

Einrichten der Unterstützung für R

Installieren der R-Runtime

  1. Laden Sie die gewünschte Version von R herunter, und installieren Sie sie. Wählen Sie R 4.2 oder eine höhere Version aus, die direkt über cran.r-project.org heruntergeladen werden kann. Befolgen Sie die Anweisungen für die gewünschte Runtime.

  2. Öffnen Sie ein Administrator-R-Terminal:

    sudo R
    
  3. Installieren Sie alle Abhängigkeiten für CompatibilityAPI und RevoScaleR, indem Sie Folgendes ausführen:

    # 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. Laden Sie CompatibilityAPI und RevoScaleR für Linux herunter, und installieren Sie diese Komponenten.

    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. Überprüfen Sie die Installation von RevoScaleR über das R-Terminal.

    library("RevoScaleR")
    

Konfigurieren der R-Runtime mit SQL Server

  1. Konfigurieren Sie die installierte R-Runtime mit SQL Server für Linux, wobei path/to/ der Dateipfad zur R-Binärdatei und RFolderVersion der versionsspezifische Ordnername für Ihre Installation der R-Runtime ist, z. B. 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. Starten Sie den Launchpadd -Dienst neu.

    systemctl restart mssql-launchpadd.service
    
  3. Konfigurieren Sie SQL Server für Linux so, dass externe Skripts die gespeicherte Systemprozedur sp_configure verwenden können.

    EXEC sp_configure 'external scripts enabled', 1;
    GO
    RECONFIGURE
    GO
    
  4. Überprüfen Sie die Installation, indem Sie einen einfachen T-SQL-Befehl ausführen, der die Version von R zurückgibt:

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

Einrichten der Unterstützung für Python

Installieren der Python-Runtime

  1. Laden Sie Python herunter, und installieren Sie die Programmiersprache. Wählen Sie Python 3.10 aus, diese kann direkt über python.org heruntergeladen werden. Befolgen Sie die Anweisungen. Installieren Sie auch die freigegebene Python-Runtimebibliothek für die Runtimeversion. Gehen Sie beispielsweise wie folgt vor, um libpython3.10 für Ubuntu zu installieren: sudo apt-get install libpython3.10.

  2. Laden Sie revoscalepy für die Stammbenutzer*innen herunter, und installieren Sie diese Komponente.

    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. Überprüfen Sie die Installation von revoscalepy über das Python-Terminal. Überprüfen Sie, ob die Bibliothek importiert werden kann.

    import revoscalepy
    

Konfigurieren der Python-Runtime mit SQL Server

  1. Konfigurieren Sie die installierte Python-Runtime mit SQL Server, wobei pythonbinbath auf den Pfad der installierten Python-Binärdatei festgelegt ist und datadirectories den Pfad enthält, in dem Pakete für die gewünschte Python-Version installiert werden (z. B. /usr/lib/python3.10/dist-packages). Verwenden Sie das folgende Skript mit Ihrem tatsächlichen Installationspfad:

    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. Starten Sie den Launchpadd -Dienst neu.

    systemctl restart mssql-launchpadd.service
    
  3. Konfigurieren Sie SQL Server für Linux so, dass externe Skripts die gespeicherte Systemprozedur sp_configure verwenden können.

    EXEC sp_configure 'external scripts enabled', 1;
    GO
    RECONFIGURE
    GO
    
  4. Überprüfen Sie die Installation, indem Sie einen einfachen T-SQL-Befehl ausführen, der die Version von Python zurückgibt:

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

Installieren von Java

Informationen zum Installieren der Java-Spracherweiterung finden Sie unter Installieren der Java-Spracherweiterung für SQL Server unter Linux.

Überprüfen der Installation

Verwenden Sie eine der folgenden Methoden, um die Installation zu überprüfen:

  • Führen Sie ein T-SQL-Skript aus, das eine gespeicherte Systemprozedur ausführt, die Python oder R mit einem Abfragetool aufruft.

  • Führen Sie den folgenden SQL-Befehl aus, um die Ausführung von R in SQL Server testen. Treten Fehler auf? Versuchen Sie einen Dienstneustart (sudo systemctl restart mssql-server.service).

    EXEC 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 
    
  • Führen Sie den folgenden SQL-Befehl aus, um die Ausführung von Python in SQL Server testen.

    EXEC 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 
    

Offlineinstallation

Befolgen Sie die Anweisungen zur Offlineinstallation, um die Pakete zu installieren. Der nachfolgenden Liste können Sie entnehmen, auf welchen Websites Sie jeweils entsprechende Downloads finden. Laden Sie dann alle nötigen Pakete herunter.

Tipp

Einige der Paketverwaltungstools umfassen Befehle, mit denen Sie Paketabhängigkeiten ermitteln können. Verwenden Sie für yum sudo yum deplist [package]. Verwenden Sie für Ubuntu erst sudo apt-get install --reinstall --download-only [package name] und dann dpkg -I [package name].deb.

Eigenständige RevoScale-Pakete für Python- und R-Runtime

RevoScale-Pakete werden auch als eigenständiges Paket mit Python- und R-Runtime unterstützt. Um die Python- oder R-Runtime für das eigenständige Szenario einzurichten, befolgen Sie die Anweisungen in den Abschnitten Installieren der Python-Runtime bzw . Installieren der R-Runtime.

Python-Entwickler können in den folgenden Tutorials erfahren, wie Python mit SQL Server verwendet werden kann:

R-Entwickler können mit einigen einfachen Beispielen loslegen und die Grundlagen der Funktionen von R unter SQL Server kennenlernen. Informationen zu den nächsten Schritten finden Sie unter den folgenden Links: