Condividi tramite


Eseguire script Python e R con Machine Learning Services nei cluster Big Data di SQL Server 2019

Si applica a:SQL Server 2019 (15.x)

Importante

Il componente aggiuntivo 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 il software continuerà a essere mantenuto tramite gli aggiornamenti cumulativi di SQL Server fino a quel momento. Per ulteriori informazioni, vedere il post di blog sull'annuncio e le opzioni di Big Data sulla piattaforma Microsoft SQL Server.

È possibile eseguire script Python e R nell'istanza master dei cluster Big Data di SQL Server con Machine Learning Services.

Annotazioni

È anche possibile eseguire codice Java nell'istanza master dei cluster Big Data di SQL Server con l'estensione del linguaggio Java. Seguendo questa procedura verranno abilitate anche le estensioni del linguaggio di SQL Server.

Abilitare i servizi di apprendimento automatico

Machine Learning Services viene installato per impostazione predefinita nei cluster Big Data di SQL Server 2019 e non richiede un'installazione separata.

Per abilitare Machine Learning Services, eseguire questa istruzione nell'istanza master:

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

È ora possibile eseguire script Python e R nell'istanza master dei cluster Big Data. Consulta i quickstart in Passaggi successivi per eseguire il tuo primo script.

Annotazioni

Non è possibile impostare il parametro di configurazione in una connessione listener del gruppo di disponibilità. Se i cluster Big Data vengono distribuiti con disponibilità elevata, il set external scripts enabled viene applicato su ogni replica. Vedere Abilitare nel cluster con disponibilità elevata.

Abilitare nel 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

La sezione seguente descrive come abilitare script esterni in ogni istanza.

Creare un bilanciamento dei carichi esterno per ogni istanza

Per ogni replica nel gruppo di disponibilità, creare un bilanciatore di 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 bilanciatore di carico è un endpoint di replica master.

Abilitare l'esecuzione di script in ogni replica

  1. Ottieni l'indirizzo IP per l'endpoint di replica primaria.

    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
    

    Annotazioni

    Potrebbe essere necessario un po' di tempo prima che l'indirizzo IP esterno sia disponibile. Eseguire periodicamente lo script precedente fino a quando ogni endpoint non restituisce un indirizzo IP esterno.

  2. Connettersi all'endpoint di replica master e abilitare l'esecuzione di script.

    Esegui questo comando:

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

    Ad esempio, è possibile eseguire il comando precedente con sqlcmd. L'esempio seguente si connette all'endpoint della replica master e abilita l'esecuzione di script. Aggiornare i valori nello script per adattarli al proprio ambiente.

    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 dei cluster Big Data. Consulta i quickstart in Passaggi successivi per eseguire il tuo primo script.

Eliminare gli endpoint di replica principale

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 in 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

Guide introduttive di apprendimento automatico per Big Data Cluster di SQL Server

Guide introduttive su Python

Guida rapida per R

Esercitazioni di Machine Learning sui cluster Big Data di SQL Server

Esercitazione su Python

Noleggio di sci (regressione lineare)

Categorizzare i clienti (K-means clustering)

Suggerimenti per i taxi di New York (classificazione)

Tutorial di R

Noleggio sci (albero delle decisioni)

Categorizzare i clienti (K-means clustering)

Suggerimenti per i taxi di New York (classificazione)

Guide pratiche di Machine Learning per i cluster Big Data di SQL Server

Esplorazione e modellazione dei dati

Conversioni dei tipi di dati

Distribuire

Previsioni

Gestione dei pacchetti

Installare nuovi pacchetti Python

Installare nuovi pacchetti R

Monitorare

Sicurezza

Spark per l'Apprendimento Automatico

Passaggi successivi