Ejecución de scripts de Python y R con Machine Learning Services en Clústeres de macrodatos de SQL Server 2019
Se aplica a: SQL Server 2019 (15.x)
Importante
El complemento Clústeres de macrodatos de Microsoft SQL Server 2019 se va a retirar. La compatibilidad con Clústeres de macrodatos de SQL Server 2019 finalizará el 28 de febrero de 2025. Todos los usuarios existentes de SQL Server 2019 con Software Assurance serán totalmente compatibles con la plataforma, y el software se seguirá conservando a través de actualizaciones acumulativas de SQL Server hasta ese momento. Para más información, consulte la entrada de blog sobre el anuncio y Opciones de macrodatos en la plataforma Microsoft SQL Server.
Se pueden ejecutar scripts de Python y R en la instancia maestra de clústeres de macrodatos de SQL Server con Machine Learning Services.
Nota
También puede ejecutar código Java en la instancia maestra de Clústeres de macrodatos de SQL Server con la extensión del lenguaje Java. Si sigue los pasos que se indican aquí, también se habilitarán las extensiones de lenguaje de SQL Server.
Habilitar Machine Learning Services
Machine Learning Services se instala de manera predeterminada en Clústeres de macrodatos de SQL Server 2019 y no necesita una instalación independiente.
Para habilitar Machine Learning Services, ejecute esta instrucción en la instancia maestra:
EXEC sp_configure 'external scripts enabled', 1
RECONFIGURE WITH OVERRIDE
GO
Ya está listo para ejecutar scripts de Python y R en la instancia maestra de clústeres de macrodatos. Vea las guías de inicio rápido en Pasos siguientes para ejecutar su primer script.
Nota
No se puede establecer el valor de configuración en una conexión del cliente de escucha del grupo de disponibilidad. Si la característica Clústeres de macrodatos se implementa con alta disponibilidad, establezca external scripts enabled
en cada réplica. Vea Habilitación en un clúster de alta disponibilidad.
Habilitación en un clúster de alta disponibilidad
Cuando se implementan clústeres de macrodatos de SQL Server con alta disponibilidad, la implementación crea un grupo de disponibilidad para la instancia maestra. Para habilitar Machine Learning Services, establezca external scripts enabled
en cada instancia del grupo de disponibilidad. En el caso de un clúster de macrodatos, debe ejecutar sp_configure
en cada réplica de la instancia maestra de SQL Server.
En la siguiente sección se describe cómo habilitar los scripts externos en cada instancia.
Creación de un equilibrador de carga externo para cada instancia
Para cada réplica del grupo de disponibilidad, cree un equilibrador de carga que le permita conectarse a la instancia.
kubectl expose pod <pod-name> --port=<connection port number> --name=<load-balancer-name> --type=LoadBalancer -n <kubernetes namespace>
En los ejemplos de este artículo se utilizan los valores siguientes:
<pod-name>
:master-#
<connection port number>
:1533
<load-balancer-name>
:mymaster-#
<kubernetes namespace>
:mssql-cluster
Actualice el script siguiente para su entorno y ejecute los comandos:
kubectl expose pod master-0 --port=1533 --name=mymaster-0 --type=LoadBalancer -n mssql-cluster
kubectl expose pod master-1 --port=1533 --name=mymaster-1 --type=LoadBalancer -n mssql-cluster
kubectl expose pod master-2 --port=1533 --name=mymaster-2 --type=LoadBalancer -n mssql-cluster
kubectl
devuelve la salida siguiente.
service/mymaster-0 exposed
service/mymaster-1 exposed
service/mymaster-2 exposed
Cada equilibrador de carga es un punto de conexión de la réplica maestra.
Habilitación de la ejecución de scripts en cada réplica
Obtiene la dirección IP del punto de conexión de la réplica maestra.
El siguiente comando devuelve la dirección IP externa del punto de conexión de la réplica.
kubectl get services <load-balancer-name> -n <kubernetes namespace>
Para obtener la dirección IP externa de cada réplica en este escenario, ejecute los siguientes comandos:
kubectl get services mymaster-0 -n mssql-cluster kubectl get services mymaster-1 -n mssql-cluster kubectl get services mymaster-2 -n mssql-cluster
Nota
Es posible que la dirección IP externa tarde un poco en estar disponible. Ejecute el script anterior periódicamente hasta que cada punto de conexión devuelva una dirección IP externa.
Conéctese al punto de conexión de la réplica maestra y habilite la ejecución de scripts.
Ejecute esta instrucción:
EXEC sp_configure 'external scripts enabled', 1 RECONFIGURE WITH OVERRIDE GO
Por ejemplo, puede ejecutar el comando anterior con
sqlcmd
. En el ejemplo siguiente se conecta al punto de conexión de la réplica maestra y se habilita la ejecución de scripts. Actualice los valores del script para su entorno.sqlcmd -S <IP address>,1533 -U <user name> -P <password> -Q "EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;"
Repita el paso para cada réplica.
Demostración
La imagen siguiente muestra este proceso.
Ya está listo para ejecutar scripts de Python y R en la instancia maestra de clústeres de macrodatos. Vea las guías de inicio rápido en Pasos siguientes para ejecutar su primer script.
Eliminación de los puntos de conexión de la réplica maestra
En el clúster de Kubernetes, elimine el punto de conexión para cada réplica. El punto de conexión se expone en Kubernetes como un servicio de equilibrio de carga.
El siguiente comando elimina el servicio de equilibrio de carga.
kubectl delete svc <load-balancer-name> -n mssql-cluster
En los ejemplos de este artículo, ejecute los siguientes comandos.
kubectl delete svc mymaster-0 -n mssql-cluster
kubectl delete svc mymaster-1 -n mssql-cluster
kubectl delete svc mymaster-2 -n mssql-cluster
Inicios rápidos de aprendizaje automático de Clústeres de macrodatos de SQL Server
Inicios rápidos de Python
- Ejecución de scripts de Python
- Objetos y estructuras de datos
- Funciones de Python
- Entrenamiento y puntuación de un modelo
Inicios rápidos de R
- Ejecutar scripts de R
- Tipos de datos y objetos
- Funciones de R
- Entrenamiento y puntuación de un modelo
Tutoriales de aprendizaje automático de Clústeres de macrodatos de SQL Server
Tutorial de Python
Alquiler de esquís (regresión lineal)
- 1 - Introducción
- 2 - Preparación de los datos
- 3 - Entrenamiento del modelo
- 4 - Implementación del modelo
Categorización de clientes (agrupación en clústeres k-means)
Recomendaciones de taxis de Nueva York (clasificación)
- 1 - Introducción
- 2 - Exploración de datos
- 3 - Ingeniería de características
- 4 - Entrenamiento e implementación
- 5 - Predicciones
Tutoriales de R
Alquiler de material para esquiar (árbol de decisión)
- 1 - Introducción
- 2 - Preparación de los datos
- 3 - Entrenamiento del modelo
- 4 - Implementación del modelo
Categorización de clientes (agrupación en clústeres k-means)
Recomendaciones de taxis de Nueva York (clasificación)
- 1 - Introducción
- 2 - Exploración de datos
- 3 - Ingeniería de características
- 4 - Entrenamiento e implementación
- 5 - Predicciones
Guías paso a paso de aprendizaje automático de Clústeres de macrodatos de SQL Server
Exploración y modelado de datos
- Trazado de histograma en Python
- Importación de datos en dataframe de Pandas
- Inserción de un dataframe en SQL
Conversiones de tipos de datos
Implementar
Predicciones
Administración de paquetes
Instalación de paquetes de Python adicionales
Instalación de paquetes de R adicionales
- Obtención de información de paquetes de R
- Instalación con sqlmlutils
- Creación de un repositorio de miniCRAN
- Sugerencias para usar paquetes de R
Monitor
Seguridad
Machine Learning con Spark
- Uso de Machine Learning con Spark
- Limpieza y transformación de datos mediante el acelerador de código PROSE
- Modelos de aprendizaje automático de Spark con MLeap