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

  1. 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.

  2. 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.

Screenshot del prompt dei comandi che fornisce una demo dei passaggi necessari per abilitare gli script esterni.

È 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

Argomenti di avvio rapido di R

Esercitazioni su Machine Learning su cluster Big Data di SQL Server

Esercitazione per Python

Noleggio di sci (regressione lineare)

Categorizzare i clienti (clustering K-means)

Mance per i taxi di NYC (classificazione)

Esercitazioni di R

Noleggio sci (albero delle decisioni)

Categorizzare i clienti (clustering K-means)

Mance per i taxi di NYC (classificazione)

Guide all'apprendimento automatico dei cluster Big Data di SQL Server

Esplorazione e modellazione dei dati

Conversioni dei tipi di dati

Distribuzione

Previsioni

Gestione pacchetti

Installare nuovi pacchetti Python

Installare nuovi pacchetti R

Monitoraggio

Sicurezza

Machine Learning in Spark

Passaggi successivi