Come distribuire un'app in cluster Big Data di SQL Server
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.
Le applicazioni distribuite in cluster Big Data di SQL Server ottengono molti vantaggi, tra cui la potenza di calcolo del cluster, ma possono anche accedere ai moltissimi dati disponibili nel cluster. Le prestazioni migliorano considerevolmente perché l'app si trova nello stesso cluster in cui si trovano i dati.
Le applicazioni vengono distribuite e gestite tramite l'interfaccia della riga di comando Azure Data (azdata
).
Questo articolo fornisce alcuni esempi di come distribuire app dalla riga di comando all'interno di un cluster Big Data di SQL Server. Per informazioni sull'uso in Visual Studio Code, fare riferimento a Estensione di Visual Studio Code.
Prerequisiti
Funzionalità
In SQL Server 2019 è possibile creare, eliminare, descrivere, inizializzare, elencare, eseguire e aggiornare l'applicazione. La tabella seguente descrive i comandi per la distribuzione di applicazioni che è possibile usare con azdata.
Comando | Descrizione |
---|---|
azdata login |
Esegue l'accesso al cluster Big Data di SQL Server |
azdata app create |
Creare un'applicazione. |
azdata app delete |
Elimina un'applicazione. |
azdata app describe |
Descrive un'applicazione. |
azdata app init |
Avvia un nuovo scheletro dell'applicazione. |
azdata app list |
Elenca le applicazioni. |
azdata app run |
Esegue un'applicazione. |
azdata app update |
Aggiorna un'applicazione. |
È possibile ottenere informazioni con il parametro --help
, come nell'esempio seguente:
azdata app create --help
Le sezioni seguenti descrivono più dettagliatamente questi comandi.
Accedere
Prima di distribuire applicazioni o interagirvi, accedere al cluster Big Data di SQL Server con il comando azdata login
. Specificare l'indirizzo IP esterno del servizio controller-svc-external
, ad esempio https://ip-address:30080
, insieme al nome utente e alla password del cluster.
azdata login --controller-endpoint https://<ip-address-of-controller-svc-external>:30080 --controller-username <user-name>
Servizio Azure Kubernetes (AKS)
Se si usa il servizio Azure Kubernetes, è necessario eseguire il comando seguente per ottenere l'indirizzo IP del servizio controller-svc-external
eseguendo questo comando in una finestra di Bash o di comando:
kubectl get svc controller-svc-external -n <name of your big data cluster>
Cluster Kubernetes creati con kubeadm
Eseguire il comando seguente per ottenere l'indirizzo IP per accedere al cluster
kubectl get node --selector='node-role.kubernetes.io/master'
Creare uno scheletro di un'app
Il comando azdata app init offre una sorta di impalcatura con gli elementi rilevanti necessari per la distribuzione di un'app. L'esempio seguente crea un elemento add-app. A questo scopo è possibile eseguire il comando seguente.
azdata app init --name add-app --version v1 --template python
Verrà creata una cartella denominata hello. È possibile eseguire il comando cd
per passare alla directory ed esaminare i file generati nella cartella. Il file spec.yaml definisce l'app, specificandone ad esempio il nome, la versione e il codice sorgente. È possibile modificare le specifiche in modo da cambiare nome, versione, input e output.
Di seguito è riportato un esempio di output del comando init, visualizzato nella cartella
add-app.py
run-spec.yaml
spec.yaml
Crea un'app
Per creare un'applicazione, usare l'interfaccia della riga di comando Azure Data (azdata
) con il comando app create
. Questi file si trovano in locale nel computer da cui viene creata l'app.
Usare la sintassi seguente per creare una nuova app nel cluster Big Data:
azdata app create --spec <directory containing spec file>
Il comando seguente mostra un esempio del possibile aspetto di questo comando:
azdata app create --spec ./addpy
Si presuppone che l'applicazione sia archiviata nella cartella addpy
. Questa cartella deve contenere anche un file di specifiche per l'applicazione, denominato spec.yaml
. Per altre informazioni sul file spec.yaml
, vedere la pagina Distribuzione dell'applicazione.
Per distribuire l'app di esempio, creare i file seguenti in una directory denominata addpy
:
add.py
. Copiare il codice Python seguente in questo file:#add.py def add(x, y): result = x+y return result result=add(x,y)
spec.yaml
. Copiare il codice seguente in questo file:#spec.yaml name: add-app #name of your python script version: v1 #version of the app runtime: Python #the language this app uses (R or Python) src: ./add.py #full path to the location of the app entrypoint: add #the function that will be called upon execution replicas: 1 #number of replicas needed poolsize: 1 #the pool size that you need your app to scale inputs: #input parameters that the app expects and the type x: int y: int output: #output parameter the app expects and the type result: int
Eseguire quindi il comando seguente:
azdata app create --spec ./addpy
È possibile verificare se l'app viene distribuita usando il comando list:
azdata app list
Se la distribuzione non viene completata, state
indicherà WaitingforCreate
, come nell'esempio seguente:
[
{
"name": "add-app",
"state": "WaitingforCreate",
"version": "v1"
}
]
Al termine della distribuzione, il valore di state
passerà allo stato Ready
:
[
{
"name": "add-app",
"state": "Ready",
"version": "v1"
}
]
Elencare un'app
È possibile elencare tutte le app create correttamente con il comando app list
.
Il comando seguente elenca tutte le applicazioni disponibili nel cluster Big Data:
azdata app list
Se si specifica un nome e una versione, vengono elencate l'app specifica e il relativo stato (Creating o Ready):
azdata app list --name <app_name> --version <app_version>
L'esempio seguente mostra questo comando:
azdata app list --name add-app --version v1
L'output dovrebbe essere simile all'esempio seguente:
[
{
"name": "add-app",
"state": "Ready",
"version": "v1"
}
]
Eliminare un'app
Per eliminare un'app dal cluster Big Data, usare la sintassi seguente:
azdata app delete --name add-app --version v1
Contenuto correlato
Per altre informazioni su come integrare nelle proprie applicazioni le app distribuite in cluster Big Data di SQL Server, vedere Eseguire applicazioni in cluster Big Data e Utilizzare applicazioni in cluster Big Data. È anche possibile fare riferimento ad altri esempi in Esempi di distribuzione di app.
Per altre informazioni sui cluster Big Data di SQL Server, vedere Introduzione ai cluster Big Data di SQL Server 2019.