Exécuter des scripts Python et R avec Machine Learning Services sur des clusters Big Data SQL Server 2019

S’applique à : SQL Server 2019 (15.x)

Important

Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. Pour plus d’informations, consultez le billet de blog d’annonce et les Options Big Data sur la plateforme Microsoft SQL Server.

Vous pouvez exécuter des scripts Python et R sur l’instance maître de clusters Big Data SQL Server avec Machine Learning Services.

Notes

Vous pouvez également exécuter du code Java sur l’instance maître des clusters Big Data SQL Server avec l’extension de langage Java. Suivez les étapes ci-dessous pour activer également les extensions de langage SQL Server.

Activer Machine Learning Services

Machine Learning Services est installé par défaut sur les clusters Big Data SQL Server 2019 et ne nécessite pas une installation distincte.

Pour activer Machine Learning Services, exécutez l’instruction suivante sur l’instance maître :

EXEC sp_configure 'external scripts enabled', 1
RECONFIGURE WITH OVERRIDE
GO

Vous êtes désormais prêt à exécuter les scripts Python et R sur l’instance maître de clusters Big Data. Consultez les guides de démarrage rapide sous Étapes suivantes pour exécuter votre premier script.

Notes

Le paramètre de configuration ne peut pas être défini sur une connexion d’écouteur de groupe de disponibilité. Si vous déployez des clusters Big Data avec une haute disponibilité, définissez external scripts enabled sur chaque réplica. Consultez Activer sur un cluster haute disponibilité.

Activer sur un cluster haute disponibilité

Quand vous déployez un cluster Big Data SQL Server haute disponibilité, le déploiement crée un groupe de disponibilité pour l’instance maître. Pour activer Machine Learning Services, définissez external scripts enabled sur chaque instance du groupe de disponibilité. Pour un cluster Big Data, vous devez exécuter sp_configure sur chaque réplica de l’instance maître SQL Server.

La section suivante décrit comment activer des scripts externes sur chaque instance.

Créer un équilibreur de charge externe pour chaque instance

Pour chaque réplica du groupe de disponibilité, créez un équilibreur de charge pour vous permettre de vous connecter à l’instance.

kubectl expose pod <pod-name> --port=<connection port number> --name=<load-balancer-name> --type=LoadBalancer -n <kubernetes namespace>

Nous utilisons les valeurs suivantes dans les exemples de cet article :

  • <pod-name> : master-#
  • <connection port number> : 1533
  • <load-balancer-name> : mymaster-#
  • <kubernetes namespace> : mssql-cluster

Mettez à jour le script suivant en fonction de votre environnement et exécutez les commandes suivantes :

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 retourne la sortie suivante.

service/mymaster-0 exposed
service/mymaster-1 exposed
service/mymaster-2 exposed

Chaque équilibreur de charge est un point de terminaison de réplica maître.

Activer l’exécution du script sur chaque réplica

  1. Obtenir l’adresse IP du point de terminaison de réplica maître.

    La commande suivante retourne l’adresse IP externe du point de terminaison de réplica.

    kubectl get services <load-balancer-name> -n <kubernetes namespace>

    Pour obtenir l’adresse IP externe de chaque réplica dans ce scénario, exécutez les commandes suivantes :

    kubectl get services mymaster-0 -n mssql-cluster
    kubectl get services mymaster-1 -n mssql-cluster
    kubectl get services mymaster-2 -n mssql-cluster
    

    Notes

    Vous devrez peut-être attendre un peu avant que l’adresse IP externe ne soit disponible. Exécutez le script précédent régulièrement jusqu’à ce que chaque point de terminaison retourne une adresse IP externe.

  2. Connectez-vous au point de terminaison de réplica maître et activez l’exécution du script.

    Exécutez l’instruction suivante :

    EXEC sp_configure 'external scripts enabled', 1
    RECONFIGURE WITH OVERRIDE
    GO
    

    Par exemple, vous pouvez exécuter la commande précédente avec sqlcmd. L’exemple suivant se connecte au point de terminaison de réplica maître et permet l’exécution du script. Mettez à jour les valeurs du script en fonction de votre environnement.

    sqlcmd -S <IP address>,1533 -U <user name> -P <password> -Q "EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;"
    

    Répétez l’étape pour chaque réplica.

Démonstration

L’image suivante illustre ce processus.

Capture d’écran de l’invite de commandes fournissant une démonstration des étapes nécessaires pour activer les scripts externes.

Vous êtes désormais prêt à exécuter les scripts Python et R sur l’instance maître de clusters Big Data. Consultez les guides de démarrage rapide sous Étapes suivantes pour exécuter votre premier script.

Supprimer les points de terminaison de réplica maître

Sur le cluster Kubernetes, supprimez le point de terminaison de chaque réplica. Le point de terminaison est exposé dans Kubernetes en tant que service d’équilibrage de charge.

La commande suivante supprime le service d’équilibrage de charge.

kubectl delete svc <load-balancer-name> -n mssql-cluster

Pour les exemples de cet article, exécutez les commandes suivantes.

kubectl delete svc mymaster-0 -n mssql-cluster
kubectl delete svc mymaster-1 -n mssql-cluster
kubectl delete svc mymaster-2 -n mssql-cluster

Clusters Big Data SQL Server - Machine Learning - Démarrages rapides

Démarrages rapides Python

Démarrages rapides R

Clusters Big Data SQL Server - Machine Learning - Tutoriels

Didacticiel Python

Location de ski (régression linéaire)

Catégoriser les clients (clustering k-moyennes)

Courses des taxis new-yorkais (classification)

Tutoriels sur R

Location de ski (arbre de décision)

Catégoriser les clients (clustering k-moyennes)

Courses des taxis new-yorkais (classification)

Clusters Big Data SQL Server - Machine Learning - Guides pratiques

Exploration et modélisation des données

Conversions de type de données

Déployer

Prévisions

Gestion des packages

Installer de nouveaux packages Python

Installer de nouveaux packages R

Surveillance

Sécurité

Spark Machine Learning

Étapes suivantes