Eseguire script Python e R con Machine Learning Services in un cluster Big Data SQL Server 2019
Si applica a: SQL Server 2019 (15.x)
Importante
Il componente aggiuntivo per i cluster Big Data di Microsoft SQL Server 2019 verrà ritirato. Il supporto per i cluster Big Data di SQL Server 2019 terminerà il 28 febbraio 2025. Tutti gli utenti esistenti di SQL Server 2019 con Software Assurance saranno completamente supportati nella piattaforma e fino a quel momento il software continuerà a ricevere aggiornamenti cumulativi di SQL Server. Per altre informazioni, vedere il post di blog relativo all'annuncio e Opzioni per i Big Data nella piattaforma Microsoft SQL Server.
È possibile eseguire script Python e R nell'istanza master di cluster Big Data di SQL Server con Machine Learning Services.
Nota
È anche possibile eseguire codice Java nell'istanza master dei cluster Big Data di SQL Server l'estensione per il linguaggio Java. Con la procedura seguente verranno abilitate anche le estensioni del linguaggio di SQL Server.
Abilitare Machine Learning Services
Machine Learning Services viene installato per impostazione predefinita nei cluster Big Data SQL Server 2019 e non richiede un'installazione separata.
Per abilitare Machine Learning Services, eseguire questa istruzione sull'istanza master:
EXEC sp_configure 'external scripts enabled', 1
RECONFIGURE WITH OVERRIDE
GO
È ora possibile eseguire script Python e R nell'istanza master di cluster Big Data. Per eseguire il primo script, vedere le guide di avvio rapido in Passaggi successivi.
Nota
Non è possibile impostare l'impostazione di configurazione in una connessione del listener del gruppo di disponibilità. Se i cluster Big Data vengono distribuiti con disponibilità elevata, impostare external scripts enabled
in ogni replica. Vedere Abilitare in un cluster con disponibilità elevata.
Abilitare in un cluster con disponibilità elevata
Quando si distribuisce un cluster Big Data di SQL Server con disponibilità elevata, la distribuzione crea un gruppo di disponibilità per l'istanza master. Per abilitare Machine Learning Services, impostare external scripts enabled
in ogni istanza del gruppo di disponibilità. Per un cluster Big Data è necessario eseguire sp_configure
in ogni replica dell'istanza master di SQL Server
Nella sezione seguente viene descritto come abilitare gli script esterni in ogni istanza.
Creare un servizio di bilanciamento del carico esterno per ogni istanza
Per ogni replica nel gruppo di disponibilità, creare un servizio di bilanciamento del carico per consentire la connessione all'istanza.
kubectl expose pod <pod-name> --port=<connection port number> --name=<load-balancer-name> --type=LoadBalancer -n <kubernetes namespace>
Gli esempi in questo articolo usano i valori seguenti:
<pod-name>
:master-#
<connection port number>
:1533
<load-balancer-name>
:mymaster-#
<kubernetes namespace>
:mssql-cluster
Aggiornare lo script seguente per l'ambiente ed eseguire i comandi:
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
restituisce l'output seguente.
service/mymaster-0 exposed
service/mymaster-1 exposed
service/mymaster-2 exposed
Ogni servizio di bilanciamento del carico è un endpoint della replica master.
Abilitare l'esecuzione di script in ogni replica
Ottenere l'indirizzo IP per l'endpoint della replica master.
Il comando seguente restituisce l'indirizzo IP esterno per l'endpoint di replica.
kubectl get services <load-balancer-name> -n <kubernetes namespace>
Per ottenere l'indirizzo IP esterno per ogni replica in questo scenario, eseguire i comandi seguenti:
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
Potrebbe essere necessario un po' di tempo prima che l'indirizzo IP esterno sia disponibile. Eseguire periodicamente lo script precedente finché ogni endpoint non restituisce un indirizzo IP esterno.
Connettersi all'endpoint della replica master e abilitare l'esecuzione dello script.
Eseguire l'istruzione seguente:
EXEC sp_configure 'external scripts enabled', 1 RECONFIGURE WITH OVERRIDE GO
Ad esempio, è possibile eseguire il comando precedente con
sqlcmd
. Nell'esempio seguente viene eseguita la connessione all'endpoint della replica master e viene abilitata l'esecuzione dello script. Aggiornare i valori nello script in base all'ambiente specifico.sqlcmd -S <IP address>,1533 -U <user name> -P <password> -Q "EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;"
Ripetere il passaggio per ogni replica.
Dimostrazione
L'immagine seguente illustra questo processo.
È ora possibile eseguire script Python e R nell'istanza master di cluster Big Data. Per eseguire il primo script, vedere le guide di avvio rapido in Passaggi successivi.
Eliminare gli endpoint della replica master
Nel cluster Kubernetes eliminare l'endpoint per ogni replica. L'endpoint viene esposto in Kubernetes come servizio di bilanciamento del carico.
Il comando seguente elimina il servizio di bilanciamento del carico.
kubectl delete svc <load-balancer-name> -n mssql-cluster
Per gli esempi di questo articolo, eseguire i comandi seguenti.
kubectl delete svc mymaster-0 -n mssql-cluster
kubectl delete svc mymaster-1 -n mssql-cluster
kubectl delete svc mymaster-2 -n mssql-cluster
Avvio rapido di Machine Learning su cluster Big Data di SQL Server
Avvio rapido di Python
- Eseguire script Python
- Strutture di dati e oggetti
- Funzioni Python
- Eseguire il training di un modello e assegnare un punteggio
Argomenti di avvio rapido di R
- Eseguire gli script R
- Tipi di dati e oggetti
- Funzioni R
- Eseguire il training di un modello e assegnare un punteggio
Esercitazioni su Machine Learning su cluster Big Data di SQL Server
Esercitazione per Python
Noleggio di sci (regressione lineare)
- 1 - Introduzione
- 2 - Preparare i dati
- 3 - Eseguire il training del modello
- 4 - Distribuire il modello
Categorizzare i clienti (clustering K-means)
Mance per i taxi di NYC (classificazione)
- 1 - Introduzione
- 2 - Esplorazione dati
- 3 - Progettazione delle funzionalità
- 4 - Eseguire il training e distribuire
- 5 - Stime
Esercitazioni di R
Noleggio sci (albero delle decisioni)
- 1 - Introduzione
- 2 - Preparare i dati
- 3 - Eseguire il training del modello
- 4 - Distribuire il modello
Categorizzare i clienti (clustering K-means)
Mance per i taxi di NYC (classificazione)
- 1 - Introduzione
- 2 - Esplorazione dati
- 3 - Progettazione delle funzionalità
- 4 - Eseguire il training e distribuire
- 5 - Stime
Guide all'apprendimento automatico dei cluster Big Data di SQL Server
Esplorazione e modellazione dei dati
- Tracciare un istogramma in Python
- Importare i dati in un dataframe Pandas
- Inserire un dataframe in SQL
Conversioni dei tipi di dati
Distribuzione
Previsioni
Gestione pacchetti
Installare nuovi pacchetti Python
Installare nuovi pacchetti R
- Ottenere informazioni sui pacchetti R
- Installare con sqlmlutils
- Creare un repository miniCRAN
- Suggerimenti per l'uso di pacchetti R
Monitoraggio
Sicurezza
Machine Learning in Spark
- Usare Machine Learning di Spark
- Data wrangling con l'acceleratore di codice PROSE
- Modelli di Machine Learning Spark con MLeap