Installer SQL Server 2022 Machine Learning Services (Python et R) sur Linux

S’applique à : SQL Server 2022 (16.x) sur Linux

Cet article vous guide lors de l’installation de SQL Server Machine Learning Services sur Linux. Les scripts Python et R peuvent être exécutés dans la base de données à l’aide de Machine Learning Services.

Vous pouvez installer Machine Learning Services sur Ubuntu et Red Hat Enterprise Linux (RHEL). SUSE Linux Enterprise Server (SLES) n’est pas pris en charge.

Vous pouvez installer Machine Learning Services sur un conteneur Docker exécutant une distribution Linux. À l’intérieur du conteneur Docker, les étapes sont les suivantes.

Pour plus d’informations, consultez la section des Plateformes prises en charge dans Aide d’installation pour SQL Server sur Linux.

Important

Cet article fait référence à SQL Server 2022 (16.x). Pour SQL Server 2019 sur Linux, voir Install SQL Server 2019 Machine Learning Services (Python et R) sur Linux. Pour SQL Server sur Windows, consultez Installer SQL Server 2022 Machine Learning Services (Python et R) sur Windows.

Liste de contrôle avant l’installation

  • Installez SQL Server sur Linux et vérifiez l’installation.

  • Vérifiez la présence des extensions Python et R dans les référentiels Linux SQL Server. Si vous avez déjà configuré des référentiels source pour l’installation du moteur de base de données, vous pouvez exécuter les commandes d’installation du package mssql-server-extensibility-java à l’aide de la même inscription de référentiel.

  • Vous devez disposer d'un outil pour l'exécution des commandes Transact-SQL (T-SQL).

  • Le redémarrage de l’instance SQL Server durant ce processus d’installation est obligatoire.

Liste des paquets

Sur un appareil connecté à Internet, les packages sont téléchargés et installés indépendamment du moteur de base de données à l’aide du programme d’installation de package pour chaque système d’exploitation.

Le paquet d’installation suivant est disponible pour SQL Server 2022 (16.x) sous Linux :

Nom du package S’applique à Description
mssql-server-extensibility All Framework d’extensibilité utilisé pour exécuter Python et R.

Installer le package mssql-server-extensibility

  1. Configurer les référentiels pour l'installation et la mise à niveau de SQL Server sur Linux correspondant à la distribution Linux. Installez la fonctionnalité d’extensibilité SQL Server avec le package mssql-server-extensibility et la dépendance associée libssl-dev.

    Ubuntu

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

    RHEL

    yum install mssql-server-extensibility
    
  2. Examiner et accepter le contrat de licence utilisateur final (EULA) pour SQL Server Machine Learning Services.

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

    Pour accepter complètement le CLUF, vous devez redémarrer l’instance SQL Server.

    sudo systemctl restart mssql-server
    

Configurer la prise en charge de R

Installer le runtime R

  1. Téléchargez et installez la version de R souhaitée. Choisissez une version de R 4.2 ou ultérieure , disponible directement à partir de cran.r-project.org. Suivez les instructions du runtime souhaité.

  2. Ouvrez un terminal R administrateur :

    sudo R
    
  3. Installez les dépendances pour CompatibilityAPI et RevoScaleR en exécutant ce qui suit :

    # 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. Téléchargez et installez CompatibilityAPI et RevoScaleR pour 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. Vérifiez l’installation de RevoScaleR à partir du terminal R.

    library("RevoScaleR")
    

Configurer le runtime R avec SQL Server

  1. Configurez l’exécution R installée avec SQL Server pour Linux. Les commandes suivantes utilisent les chemins d’installation par défaut de R. Mettez à jour les chemins si vous avez installé R ailleurs.

    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. Redémarrez le service mssql-launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Configurez SQL Server sur Linux pour autoriser les scripts externes à l’aide de la procédure stockée système sp_configure.

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  4. Vérifiez l’installation en exécutant une commande T-SQL simple pour retourner la version de R :

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

Configurer la prise en charge de Python

Installer le runtime Python

  1. Téléchargez et installez Python. Choisissez spécifiquement Python 3.10, disponible en téléchargement direct sur python.org. Suivez les instructions fournies. Installez aussi la bibliothèque d’exécution Python partagée pour la version d’exécution. Par exemple, pour installer libpython3.10 pour Ubuntu : sudo apt-get install libpython3.10.

  2. Téléchargez et installez revoscalepy pour l’utilisateur racine.

    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. Vérifiez l’installation de revoscalepy à partir du terminal Python. Vérifiez que la bibliothèque peut être importée.

    import revoscalepy
    

Configurer le runtime Python avec SQL Server

  1. Configurez l’exécution Python installée avec SQL Server, où pythonbinpath est défini sur le chemin du binaire Python installé, et datadirectories inclut le chemin où les paquets sont installés pour la version désirée de Python, par exemple, /usr/lib/python3.10/dist-packages. Utilisez le script suivant avec votre chemin d’installation réel :

    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. Redémarrez le service mssql-launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Configurez SQL Server sur Linux pour autoriser les scripts externes à l’aide de la procédure stockée système sp_configure.

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  4. Vérifiez l’installation en exécutant une simple commande T-SQL pour retourner la version de Python :

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

Installer Java

Pour installer l’extension de langage Java, consultez Installer l’extension de langage Java SQL Server sur Linux.

Vérifier l’installation

Pour valider l’installation, utilisez l’une des méthodes suivantes :

  • Exécutez un script T-SQL qui exécute une procédure stockée système appelant Python ou R à l’aide d’un outil de requête.

  • Exécutez la commande SQL suivante pour tester l’exécution de R dans SQL Server. Des erreurs ? Essayez un redémarrage du service, 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
    
  • Exécutez la commande SQL suivante pour tester l’exécution de Python dans 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
    

Installation hors connexion

Suivez les instructions d'installation hors connexion pour connaître les étapes d’installation des packages. Trouvez votre site de téléchargement, puis téléchargez des forfaits spécifiques en utilisant la liste des paquets ci-dessus.

Tip

Plusieurs outils de gestion des packages fournissent des commandes qui peuvent vous aider à déterminer les dépendances du package. Pour yum, utilisez sudo yum deplist [package]. Pour Ubuntu, utilisez sudo apt-get install --reinstall --download-only [package name], suivi de dpkg -I [package name].deb.

Packages RevoScale indépendants pour les environnements d’exécution Python et R

Les paquets RevoScale sont également pris en charge en tant que paquets autonomes avec des environnements d’exécution Python et R. Pour configurer un runtime Python ou R pour le scénario autonome, suivez les instructions dans les sections Installer Python runtime et Install R runtime, respectivement.