Condividi tramite


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

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.