Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SQL Server 2022 (16.x) en 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). No se admite SUSE Linux Enterprise Server (SLES).
Puedes instalar Machine Learning Services en un contenedor Docker ejecutando una distribución Linux. Dentro del contenedor Docker, los pasos son los mismos:
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). Para SQL Server 2019 en Linux, consulta Install 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 Transact-SQL (T-SQL).
- Puede conectarse a una instancia de SQL Server mediante cualquier herramienta de cliente SQL Server conocida, como sqlcmd, SQL Server Management Studio (SSMS) o la extensión MSSQL para Visual Studio Code.
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.
El siguiente paquete de instalación está disponible para SQL Server 2022 (16.x) en Linux:
| Nombre del paquete | Válido para | Description |
|---|---|---|
mssql-server-extensibility |
All | Marco de extensibilidad que se usa para ejecutar Python y R. |
Instalación del paquete mssql-server-extensibility
Configuración de repositorios para instalar y actualizar SQL Server en Linux según la distribución de Linux. Instale la característica de extensibilidad de SQL Server con el paquete
mssql-server-extensibilityy la dependencia asociadalibssl-dev.Ubuntu
sudo apt-get install mssql-server-extensibility libssl-devRHEL
yum install mssql-server-extensibilityRevisa y acepta el Acuerdo de Licencia de Usuario Final (EULA) para los Servicios SQL Server Machine Learning.
sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml YPara completar la aceptación del EULA, se debe reiniciar la instancia de SQL Server.
sudo systemctl restart mssql-server
Configuración de la compatibilidad con R
Instalación del entorno de ejecución de R
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.
Abra un terminal de R de administración:
sudo RInstale todas las dependencias, para
CompatibilityAPIyRevoScaleRejecutando 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")Descargue e instale
CompatibilityAPIyRevoScaleRpara 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")Compruebe la instalación de
RevoScaleRdesde el terminal de R.library("RevoScaleR")
Configuración del entorno de ejecución de R con SQL Server
Configura el runtime instalado de R con SQL Server para Linux. Los siguientes comandos utilizan las rutas de instalación predeterminadas de R. Actualiza las rutas si instalaste R en otro sitio.
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/RReinicie el servicio
mssql-launchpadd.systemctl restart mssql-launchpadd.serviceConfigurar SQL Server para Linux para permitir secuencias de comandos externas mediante el procedimiento almacenado de sistema
sp_configure.EXECUTE sp_configure 'external scripts enabled', 1; GO RECONFIGURE; GOPara comprobar la instalación, ejecute un comando simple de T-SQL para devolver la versión de R:
EXECUTE 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
Descargue e instale Python. Elige Python 3.10 específicamente, disponible para descargar directamente en python.org. Sigue las instrucciones proporcionadas. Además, instala la biblioteca de ejecución compartida en Python para la versión de ejecución. Por ejemplo, para instalar
libpython3.10para Ubuntu:sudo apt-get install libpython3.10.Descargue e instale
revoscalepypara 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-packagesCompruebe la instalación de
revoscalepydesde 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
Configura el runtime de Python instalado con SQL Server, donde
pythonbinpathse establece en la ruta del binario Python instalado, edatadirectoriesincluye la ruta 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-packagesReinicie el servicio
mssql-launchpadd.systemctl restart mssql-launchpadd.serviceConfigurar SQL Server para Linux para permitir secuencias de comandos externas mediante el procedimiento almacenado de sistema
sp_configure.EXECUTE sp_configure 'external scripts enabled', 1; GO RECONFIGURE; GOVerifica la instalación ejecutando un simple comando T-SQL para devolver la versión de Python:
EXECUTE 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.
Comprobación de 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.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) ); GOEjecute el siguiente comando SQL para probar la ejecución de Python en 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
Instalación sin conexión
Siga las instrucciones de instalación sin conexión para ver los pasos para instalar los paquetes. Busca tu sitio de descargas y luego descarga paquetes específicos usando la lista de paquetes de arriba.
Tip
Varias de las herramientas de administración de paquetes proporcionan comandos que pueden ayudar a determinar las dependencias de los paquetes. Para yum, usa 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 runtimes en Python y R
Los paquetes RevoScale también son compatibles como paquetes independientes con tiempos de ejecución en Python y R. Para configurar un entorno de ejecución en Python o R para el escenario independiente, sigue las instrucciones de las secciones Instalar tiempo de ejecución en Python e Instalar R, respectivamente.