Condividi tramite


Come distribuire un'app nei cluster Big Data di SQL Server

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.

Le applicazioni distribuite in cluster Big Data di SQL Server non solo traggono vantaggio da molti vantaggi, ad esempio la potenza di calcolo del cluster, ma anche l'accesso a dati di grandi dimensioni disponibili nel cluster. Migliora notevolmente le prestazioni 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 di Azure Data (azdata).

Questo articolo fornisce esempi di come distribuire app dalla riga di comando all'interno di un cluster Big Data di SQL Server. Per informazioni su come usarlo in Visual Studio Code, vedere Estensione di Visual Studio Code.

Prerequisiti

Capacità

In SQL Server 2019 è possibile creare, eliminare, descrivere, inizializzare, elencare l'esecuzione e aggiornare l'applicazione. La tabella seguente descrive i comandi di distribuzione dell'applicazione che è possibile usare con azdata.

Comando Descrizione
azdata login Accedere a un cluster Big Data di SQL Server
azdata app create Creare un'applicazione.
azdata app delete Eliminare l'applicazione.
azdata app describe Descrivere l'applicazione.
azdata app init Avviare la nuova struttura dell'applicazione.
azdata app list Elencare le applicazioni.
azdata app run Eseguire l'applicazione.
azdata app update Aggiornare l'applicazione.

È possibile ottenere assistenza con il --help parametro come nell'esempio seguente:

azdata app create --help

Le sezioni seguenti descrivono questi comandi in modo più dettagliato.

Accedere

Prima di distribuire o interagire con le applicazioni, accedere prima al cluster Big Data di SQL Server con il azdata login comando . Specificare l'indirizzo IP esterno del controller-svc-external servizio (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>

Il Servizio Azure Kubernetes (AKS)

Se si sta usando AKS, è necessario eseguire il seguente comando per ottenere l'indirizzo IP del controller-svc-external servizio, aprendo una finestra bash o cmd e eseguendo questo 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 app

Il comando azdata app init fornisce uno scaffold con gli artefatti pertinenti necessari per la distribuzione di un'app. L'esempio seguente crea un'app aggiuntiva; è possibile farlo eseguendo il comando seguente.

azdata app init --name add-app --version v1 --template python

Verrà creata una cartella denominata hello. È possibile usare il cd comando nella directory ed esaminare i file generati nella cartella . spec.yaml definisce l'app, ad esempio nome, versione e codice sorgente. È possibile modificare la specifica per modificare il nome, la versione, l'input e gli output.

Ecco un output di esempio del comando init che verrà visualizzato nella cartella

add-app.py
run-spec.yaml
spec.yaml

Crea un'app

Per creare un'applicazione, si usa l'interfaccia della riga di comando di Azure Data (azdata) con il comando app create. Questi file si trovano localmente nel computer da cui si sta creando 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 dell'aspetto di questo comando:

azdata app create --spec ./addpy

Si presuppone che l'applicazione sia archiviata nella addpy cartella . Questa cartella deve contenere anche un file di specifica per l'applicazione, denominato spec.yaml. Per altre informazioni, vedere la pagina Distribuzione dell'applicazione nel spec.yaml file.

Per distribuire questa 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 è stata completata, dovresti vedere state mostrare WaitingforCreate come nell'esempio seguente:

[
  {
    "name": "add-app",
    "state": "WaitingforCreate",
    "version": "v1"
  }
]

Al termine della distribuzione, dovresti vedere il cambiamento dello stato da state a Ready.

[
  {
    "name": "add-app",
    "state": "Ready",
    "version": "v1"
  }
]

Elencare un'app

È possibile elencare tutte le app create correttamente con il app list comando .

Il comando seguente elenca tutte le applicazioni disponibili nel cluster Big Data:

azdata app list

Se specifichi un nome e una versione, elenca l'app specifica e il relativo stato (Creazione o Pronto):

azdata app list --name <app_name> --version <app_version>

L'esempio seguente illustra 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, vedere Come integrare le app distribuite in cluster Big Data di SQL Server nelle proprie applicazioni in Eseguire applicazioni in cluster Big Data e Usare applicazioni in cluster Big Data . È anche possibile consultare esempi aggiuntivi in Esempi di distribuzione app.

Per altre informazioni sui cluster Big Data di SQL Server, vedere Introduzione ai cluster Big Data di SQL Server 2019.