Partager via


Créer, exporter et scorer des modèles de machine learning Spark sur les Clusters Big Data SQL Server

Important

Les clusters Big Data Microsoft SQL Server 2019 sont mis hors service. La prise en charge des clusters Big Data SQL Server 2019 a pris fin le 28 février 2025. Pour plus d’informations, consultez le billet de blog d’annonce et les options Big Data sur la plateforme Microsoft SQL Server.

L’exemple suivant montre comment créer un modèle avec Spark ML, exporter le modèle vers MLeap et scorer le modèle dans SQL Server avec son extension de langage Java. Ceci s’effectue dans le contexte d’un cluster Big Data SQL Server.

Le schéma ci-dessous illustre le travail effectué dans cet exemple :

Exportation des scores de l’entraînement avec Spark

Prerequisites

Tous les fichiers de cet exemple se trouvent dans https://github.com/microsoft/sql-server-samples/tree/master/samples/features/sql-big-data-cluster/spark/sparkml.

Pour exécuter l’exemple, vous devez également disposer des prérequis suivants :

Entraînement du modèle avec Spark ML

Pour cet exemple, les données de recensement (AdultCensusIncome.csv) sont utilisées pour générer un modèle de pipeline Spark ML.

  1. Utilisez le fichier mleap_sql_test/Setup.sh pour télécharger le jeu de données à partir d’Internet et le placer sur HDFS dans votre cluster Big Data SQL Server. Ceci le rend accessible par Spark.

  2. Téléchargez ensuite l’exemple de notebook train_score_export_ml_models_with_spark.ipynb. À partir d’une ligne de commande PowerShell ou bash, exécutez la commande suivante pour télécharger le notebook :

    curl -o mssql_spark_connector.ipynb "https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/features/sql-big-data-cluster/spark/sparkml/train_score_export_ml_models_with_spark.ipynb"
    

    Ce notebook contient des cellules avec les commandes nécessaires pour cette section de l’exemple.

  3. Ouvrez le notebook dans Azure Data Studio et exécutez chaque bloc de code. Pour plus d’informations sur l’utilisation des notebooks, consultez Guide pratique pour utiliser des notebooks avec SQL Server.

Les données sont d’abord lues dans Spark et divisées en jeux de données d’entraînement et de test. Ensuite, le code entraîne un modèle de pipeline avec les données d’entraînement. Enfin, il exporte le modèle vers un bundle MLeap.

Tip

Vous pouvez également passer en revue ou exécuter le code Python associé à ces étapes en dehors du notebook dans le fichier mleap_sql_test/mleap_pyspark.py.

Scoring du modèle avec SQL Server

Maintenant que le modèle de pipeline Spark ML se trouve dans un format de bundle MLeap de sérialisation courant, vous pouvez scorer le modèle en Java sans la présence de Spark.

Cet exemple utilise l’extension de langage Java dans SQL Server. Pour pouvoir scorer le modèle dans SQL Server, vous devez d’abord créer une application Java qui peut charger le modèle dans Java et le scorer. Vous pouvez trouver l’exemple de code pour cette application Java dans le dossier mssql-mleap-app.

Après avoir créé l’exemple, vous pouvez utiliser Transact-SQL pour appeler l’application Java et scorer le modèle avec une table de base de données. Vous pouvez le voir dans le fichier source mleap_sql_test/mleap_sql_tests.py.

Next steps

Pour plus d’informations sur les clusters Big Data, consultez Guide pratique pour déployer des Clusters Big Data SQL Server sur Kubernetes