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

Gilt für: SQL Server 2022 (16.x) unter 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 nicht unterstützt.

Du kannst Machine Learning Services auf einem Docker-Container installieren, der eine Linux-Distribution ausführt. Im Inneren des Docker-Containers sind die Schritte wie folgt aufgeführt.

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

Important

Dieser Artikel bezieht sich auf SQL Server 2022 (16.x). Für SQL Server 2019 unter Linux siehe Install 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 (Transact-SQL) verfügen.

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

Das folgende Installationspaket ist für SQL Server 2022 (16.x) unter Linux verfügbar:

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

Installieren des Pakets „mssql-server-extensibility“

  1. Konfigurieren Sie Repositorys zum Installieren und Upgraden von SQL Server für Linux entsprechend der 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 Sie und akzeptieren Sie die Endbenutzerlizenzvereinbarung (EULA) für SQL Server Machine Learning Dienste.

    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
    

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-Laufzeit mit SQL Server für Linux. Die folgenden Befehle verwenden die Standard-R-Installationspfade. Aktualisiere die Pfade, wenn du R woanders installiert hast.

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

    EXECUTE 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:

    EXECUTE 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ähle speziell Python 3.10, das direkt von python.org heruntergeladen werden kann. Befolge die bereitgestellten Anweisungen. Installiere außerdem die gemeinsame Python-Laufzeitbibliothek für die Laufzeitversion. 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 den Root-Benutzer herunter und installieren Sie es.

    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-Laufzeit mit SQL Server, wobei pythonbinpath auf den Pfad der installierten Python-Binärdatei gesetzt wird und datadirectories zum Beispiel der Pfad enthalten ist, auf dem die Pakete für die gewünschte Python-Version installiert sind. /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 mssql-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.

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

    EXECUTE 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).

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

Offlineinstallation

Befolgen Sie die Anweisungen zur Offlineinstallation, um die Pakete zu installieren. Finde deine Download-Seite und lade dann spezifische Pakete über die obige Paketliste herunter.

Tip

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-Laufzeiten

RevoScale-Pakete werden außerdem als eigenständige Pakete mit Python- und R-Laufzeiten unterstützt. Um eine Python- oder R-Laufzeit für das eigenständige Szenario einzurichten, folgen Sie den Anweisungen in den Abschnitten Install Python Runtime bzw. Install R Runtime.