¿Qué es Machine Learning Services para SQL Server con Python y R?

Se aplica a: SQL Server 2017 (14.x) y versiones posteriores Azure SQL Managed Instance

Machine Learning Services es una característica de SQL Server que proporciona la capacidad de ejecutar scripts de Python y R con datos relacionales. Para llevar a cabo análisis predictivo y aprendizaje automático, se pueden usar marcos y paquetes de código abierto, además de paquetes de Python y R de Microsoft. Los scripts se ejecutan en la base de datos sin mover los datos fuera de SQL Server o a través de la red. En este artículo se explican los conceptos básicos de SQL Server Machine Learning Services y cómo empezar a usarlo.

Nota:

Machine Learning Services también está disponible en Azure SQL Managed Instance. Para obtener información sobre el aprendizaje automático en otras plataformas de SQL, consulte la documentación del aprendizaje automático de SQL.

Nota:

Machine Learning Services también está disponible en Azure SQL Managed Instance. Para obtener información sobre el aprendizaje automático en otras plataformas de SQL, consulte la documentación del aprendizaje automático de SQL.

Para ejecutar Java en SQL Server, consulte la documentación sobre la extensión de lenguaje Java.

Para ejecutar C# en SQL Server, consulte la documentación sobre la extensión de lenguaje C#.

Ejecución de scripts de Python y R en SQL Server

SQL Server Machine Learning Services permite ejecutar scripts de Python y R en la base de datos. Se puede usar para preparar y limpiar los datos, realizar ingeniería de características, y entrenar, evaluar e implementar modelos de aprendizaje automático en una base de datos. La característica ejecuta los scripts donde residen los datos y elimina la transferencia de los datos a otro servidor a través de la red.

Puede ejecutar scripts de Python y R en una instancia de SQL Server con el procedimiento almacenado sp_execute_external_script.

Machine Learning Services incluye las distribuciones base de Python y R. Se pueden instalar y usar marcos y paquetes de código abierto, como PyTorch, TensorFlow y scikit-learn, además de los paquetes de Microsoft.

Machine Learning Services usa un marco de extensibilidad para ejecutar scripts de Python y R en SQL Server. Más información sobre cómo funciona:

Introducción a Machine Learning Services

Versiones de Python y R

A continuación se muestran las versiones de Python y R incluidas en Machine Learning Services.

Versión de SQL Server Actualización acumulada Versión del entorno de ejecución de Python Versiones del entorno de ejecución de R
SQL Server 2022* RTM y versiones posteriores 3.10.2 4.2.0
SQL Server 2019 RTM y versiones posteriores 3.7.1 3.5.2
SQL Server 2017 CU22 y versiones posteriores 3.5.2 y 3.7.2 3.3.3 y 3.5.2
SQL Server 2017 RTM - CU21 3.5.2 3.3.3
SQL Server 2016 Consulte la Versión de R.

* Para obtener información sobre las versiones compatibles de R y Python y los paquetes RevoScaleR y revoscalepy, consulte Instalación de SQL Server 2022 Machine Learning Services (Python y R) en Windows o Instalación de SQL Server Machine Learning Services (Python y R) en Linux.

Paquetes de Python y R

Además de los paquetes de empresa de Microsoft, pueden usarse usar marcos y paquetes de código abierto. Los paquetes de Python y R de código abierto más comunes están preinstalados en Machine Learning Services.

Nota:

A partir de SQL Server 2022 (16.x), los entornos de ejecución de R, Python y Java ya no se instalan con el programa de instalación de SQL. En su lugar, instale los paquetes y entornos de ejecución personalizados de R o Python que quiera. Para obtener más información, consulte Instalación de SQL Server 2022 Machine Learning Services (Python y R) en Windows o Instalación de SQL Server Machine Learning Services (Python y R) en Linux.

En la instalación también se incluyen los siguientes paquetes de Python y R de Microsoft:

Idioma Paquete Descripción
Python revoscalepy Es el paquete principal para Python escalable. Transformaciones y manipulación de datos, resumen estadístico, visualización y muchas formas de modelado. Además, las funciones de este paquete distribuyen automáticamente las cargas de trabajo entre los núcleos disponibles para su procesamiento paralelo.
Python microsoftml Se aplica solo a SQL Server 2016, SQL Server 2017 y SQL Server 2019. Agrega algoritmos de aprendizaje automático para crear modelos personalizados dedicados al análisis de texto, imágenes y opiniones.
R RevoScaleR Este es el paquete principal para R escalable. Permite realizar transformaciones y manipulaciones de datos, resúmenes estadísticos, visualizaciones y muchas formas de modelado. Además, las funciones de este paquete distribuyen automáticamente las cargas de trabajo entre los núcleos disponibles para su procesamiento paralelo.
R MicrosoftML (R) Se aplica solo a SQL Server 2016, SQL Server 2017 y SQL Server 2019. Agrega algoritmos de aprendizaje automático para crear modelos personalizados dedicados al análisis de texto, imágenes y opiniones.
R olapR Se aplica solo a SQL Server 2016, SQL Server 2017 y SQL Server 2019. Se trata de funciones de R usadas para las consultas MDX en un cubo OLAP de SQL Server Analysis Services.
R sqlrutils Se aplica solo a SQL Server 2016, SQL Server 2017 y SQL Server 2019. Este es un mecanismo para usar scripts de R en un procedimiento almacenado de T-SQL, registrar dicho procedimiento almacenado en una base de datos y ejecutarlo en un entorno de desarrollo de R.
R Microsoft R Open Se aplica solo a SQL Server 2016, SQL Server 2017 y SQL Server 2019. Microsoft R Open (MRO) es la distribución mejorada de Microsoft R. Se trata de una plataforma de código abierto completa dedicada al análisis estadístico y la ciencia de datos. Basada en R y compatible al 100 % con ese lenguaje, incluye capacidades adicionales para mejorar el rendimiento y la reproducibilidad.

Para obtener más información sobre los paquetes que se instalan con Machine Learning Services y cómo instalar otros paquetes, consulte:

Pasos siguientes