Instalación de SQL Server 2022 Machine Learning Services (Python y R) en Linux

Se aplica a: SQL Server 2022 (16.x): Linux.

En este artículo se le guiará por la instalación de SQL Server Machine Learning Services en Linux. Se pueden ejecutar scripts de Python y R en la base de datos mediante Machine Learning Services.

Puede instalar Machine Learning Services en Ubuntu y Red Hat Enterprise Linux (RHEL). Actualmente, SUSE Linux Enterprise Server (SLES) no es compatible.

Puede instalar ML Services en un contenedor de Docker que ejecute una distribución de Linux. Dentro del contenedor de Docker, los pasos serían los mismos que se indican a continuación.

Para más información, consulte la sección Plataformas admitidas de la guía de instalación de SQL Server en Linux.

Importante

Este artículo hace referencia a SQL Server 2022 (16.x). En el caso de SQL Server 2019 en Linux, consulte Instalación de SQL Server 2019 Machine Learning Services (Python y R) en Linux. Para obtener información sobre SQL Server en Windows, consulte Instalación de SQL Server 2022 Machine Learning Services (Python y R) en Windows.

Lista de comprobación previa a la instalación

  • Instale SQL Server en Linux y compruebe la instalación.

  • Compruebe en los repositorios de SQL Server para Linux si están las extensiones de Python y R. Si ya ha configurado repositorios de origen para la instalación del motor de base de datos, puede ejecutar los comandos de instalación del paquete mssql-server-extensibility mediante el mismo registro de repositorio.

  • Debe tener una herramienta para ejecutar comandos de T-SQL.

    • Puede usar Azure Data Studio, una herramienta de base de datos gratuita que se ejecuta en Linux, Windows y macOS.
  • Tendrá que reiniciar la instancia de SQL Server durante este proceso de instalación.

Lista de paquetes

En un dispositivo conectado a Internet, los paquetes se descargan e instalan de forma independiente del motor de base de datos mediante el instalador de paquetes de cada sistema operativo.

Paquetes de instalación disponibles para SQL Server 2022 (16.x) en Linux:

Nombre del paquete Válido para Descripción
mssql-server-extensibility All Marco de extensibilidad que se usa para ejecutar Python y R.

Instalación del paquete mssql-server-extensibility

  1. Configure los repositorios de Linux correspondientes a la distribución de Linux. Instale la característica de extensibilidad de SQL Server con el paquete mssql-server-extensibility y la dependencia asociada libssl-dev.

    Ubuntu

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

    RHEL

    yum install mssql-server-extensibility
    
  2. Revise y acepte el Contrato de licencia para el usuario final (EULA) para SQL Server ML Services.

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

    Para completar la aceptación del EULA, se debe reiniciar la instancia de SQL Server.

    sudo systemctl restart mssql-server
    

Instalación de entornos de ejecución y paquetes

Configuración de la compatibilidad con R

Instalación del entorno de ejecución de R

  1. Descargue e instale la versión de R que quiera. Elija una versión de R 4.2 o posterior, disponible para su descarga directamente desde cran.r-project.org. Siga las instrucciones relativas al entorno de ejecución deseado.

  2. Abra un terminal de R de administración:

    sudo R
    
  3. Instale todas las dependencias, para CompatibilityAPI y RevoScaleR ejecutando lo siguiente:

    # 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. Descargue e instale CompatibilityAPI y RevoScaleR para 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. Compruebe la instalación de RevoScaleR desde el terminal de R.

    library("RevoScaleR")
    

Configuración del entorno de ejecución de R con SQL Server

  1. Configure el entorno de ejecución de R instalado con SQL Server para Linux, donde path/to/ es la ruta de acceso del archivo al binario de R y RFolderVersion es el nombre de carpeta específico de la versión para la instalación del entorno de ejecución de R, por ejemplo, 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. Reinicie el servicio Launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Configure SQL Server para Linux para permitir scripts externos mediante el procedimiento almacenado del sistema sp_configure.

    EXEC sp_configure 'external scripts enabled', 1;
    GO
    RECONFIGURE
    GO
    
  4. Para comprobar la instalación, ejecute un comando simple de T-SQL para devolver la versión de R:

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

Configuración de la compatibilidad con Python

Instalación del entorno de ejecución de Python

  1. Descargue e instale Python. Elija específicamente la versión de Python 3.10, disponible para descargar directamente desde python.org. Siga las instrucciones facilitadas. Además, instale la biblioteca en tiempo de ejecución de Python compartida para la versión en tiempo de ejecución. Por ejemplo, para instalar libpython3.10 para Ubuntu: sudo apt-get install libpython3.10.

  2. Descargue e instale revoscalepy para el usuario raíz.

    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. Compruebe la instalación de revoscalepy desde el terminal de Python. Compruebe que se puede importar la biblioteca.

    import revoscalepy
    

Configuración del entorno de ejecución de Python con SQL Server

  1. Configure el entorno de ejecución de Python instalado con SQL Server, donde pythonbinbath se establece en la ruta de acceso del binario de Python instalado e datadirectories incluye la ruta de acceso donde se instalan los paquetes para la versión deseada de Python, por ejemplo, /usr/lib/python3.10/dist-packages. Use el siguiente script con la ruta de instalación real:

    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. Reinicie el servicio Launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Configure SQL Server para Linux para permitir scripts externos mediante el procedimiento almacenado del sistema sp_configure.

    EXEC sp_configure 'external scripts enabled', 1;
    GO
    RECONFIGURE
    GO
    
  4. Para comprobar la instalación, ejecute un comando simple de T-SQL para devolver la versión de Python:

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

Instalar Java

Para instalar la extensión del lenguaje Java, consulte Instalación de la extensión de lenguaje Java de SQL Server en Linux.

Comprobar la instalación

Para validar la instalación, use cualquiera de los métodos siguientes:

  • Ejecute un script de T-SQL que ejecute un procedimiento almacenado del sistema que invoque Python o R mediante una herramienta de consulta.

  • Ejecute el siguiente comando SQL para probar la ejecución de R en SQL Server. ¿Errores? Pruebe el reinicio del servicio, 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 
    
  • Ejecute el siguiente comando SQL para probar la ejecución de Python en SQL Server.

    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 
    

Instalación sin conexión

Siga las instrucciones de instalación sin conexión para ver los pasos para instalar los paquetes. Busque el sitio de descarga y luego descargue paquetes específicos mediante la lista de paquetes siguiente.

Sugerencia

Varias de las herramientas de administración de paquetes proporcionan comandos que pueden ayudar a determinar las dependencias de los paquetes. En yum, use sudo yum deplist [package]. En Ubuntu, use sudo apt-get install --reinstall --download-only [package name] seguido de dpkg -I [package name].deb.

Paquetes independientes de RevoScale para los entornos de ejecución de Python y R

Los paquetes de RevoScale también se admiten como un paquete independiente con los entornos de ejecución de Python y R. Para configurar el entorno de ejecución de Python o R para el escenario independiente, siga las instrucciones de las secciones Instalación del entorno de ejecución de Python e Instalación del entorno de ejecución de R, respectivamente.

Los desarrolladores de Python pueden aprender a usar Python con SQL Server con estos tutoriales:

Los desarrolladores de R pueden empezar con algunos ejemplos sencillos y conocer los aspectos básicos del funcionamiento de R con SQL Server. Para conocer el siguiente paso, vea los vínculos siguientes: