Machine learning-modellen voor Spark maken, exporteren en beoordelen op SQL Server Big Data-clusters
Belangrijk
De invoegtoepassing Big Data Clusters van Microsoft SQL Server 2019 wordt buiten gebruik gesteld. Ondersteuning voor BIG Data-clusters van SQL Server 2019 eindigt op 28 februari 2025. Alle bestaande gebruikers van SQL Server 2019 met Software Assurance worden volledig ondersteund op het platform en de software blijft tot die tijd worden onderhouden via cumulatieve SQL Server-updates. Zie de aankondigingsblogpost en Opties voor big data op het Microsoft SQL Server-platformvoor meer informatie.
In het volgende voorbeeld ziet u hoe u een model bouwt met Spark ML-, het model exporteert naar MLeap-en het model in SQL Server kunt beoordelen met de Java Language Extension. Dit gebeurt in de context van een BIG Data-cluster van SQL Server.
In het volgende diagram ziet u het werk dat in dit voorbeeld wordt uitgevoerd:
Voorwaarden
Alle bestanden voor dit voorbeeld bevinden zich op https://github.com/microsoft/sql-server-samples/tree/master/samples/features/sql-big-data-cluster/spark/sparkml.
Als u het voorbeeld wilt uitvoeren, moet u ook over de volgende vereisten beschikken:
-
- kubectl
- curl
- Azure Data Studio
Modeltraining met Spark ML
Voor dit voorbeeld worden volkstellingsgegevens (AdultCensusIncome.csv) gebruikt om een Spark ML-pijplijnmodel te bouwen.
Gebruik het bestand mleap_sql_test/setup.sh om de gegevensset van internet te downloaden en op HDFS in uw BIG Data-cluster van SQL Server te plaatsen. Hierdoor kan deze worden geopend door Spark.
Download vervolgens het voorbeeld-notitieboek train_score_export_ml_models_with_spark.ipynb. Voer vanaf een PowerShell- of bash-opdrachtregel de volgende opdracht uit om het notebook te downloaden:
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"
Dit notebook bevat cellen met de vereiste opdrachten voor deze sectie van het voorbeeld.
Open het notebook in Azure Data Studio en voer elk codeblok uit. Zie Notebooks gebruiken met SQL Servervoor meer informatie over het werken met notebooks.
De gegevens worden eerst in Spark gelezen en opgesplitst in trainings- en testgegevenssets. Vervolgens traint de code een pijplijnmodel met de trainingsgegevens. Ten slotte exporteert het model naar een MLeap-bundel.
Tip
U kunt ook de Python-code controleren of uitvoeren die is gekoppeld aan deze stappen buiten het notebook in het bestand mleap_sql_test/mleap_pyspark.py.
Model scoren met SQL Server
Nu het Spark ML-pijplijnmodel zich in een gemeenschappelijke serialisatie MLeap-bundel-indeling bevindt, kunt u het model in Java beoordelen zonder de aanwezigheid van Spark.
In dit voorbeeld wordt de Java Language Extension in SQL Server gebruikt. Als u het model in SQL Server wilt scoren, moet u eerst een Java-toepassing bouwen die het model in Java kan laden en scoren. U vindt de voorbeeldcode voor deze Java-toepassing in de map mssql-mleap-app.
Nadat u het voorbeeld hebt gemaakt, kunt u Transact-SQL gebruiken om de Java-toepassing aan te roepen en het model te beoordelen met een databasetabel. Dit is te zien in het bronbestand mleap_sql_test/mleap_sql_tests.py.
Volgende stappen
Zie Sql Server Big Data-clusters implementeren op Kubernetes voor meer informatie over big data-clusters