Comment déployer une application sur un cluster Big Data SQL Server

S’applique à : SQL Server 2019 (15.x)

Important

Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. Pour plus d’informations, consultez le billet de blog d’annonce et les Options Big Data sur la plateforme Microsoft SQL Server.

Les applications déployées sur les clusters Big Data SQL Server bénéficient non seulement de nombreux avantages, tels que la puissance de calcul du cluster, mais également de l’accès aux données volumineuses disponibles sur le cluster. Cela améliore considérablement les performances, car votre application se trouve dans le même cluster que celui où résident les données.

Les applications sont déployées et managées à l’aide de Azure Data CLI (azdata).

Cet article fournit des exemples de déploiement d’applications à partir de la ligne de commande à l’intérieur d’un cluster Big Data SQL Server. Pour savoir comment l’utiliser dans Visual Studio Code, consultez la section Extension Visual Studio Code.

Prérequis

Fonctionnalités

Dans SQL Server 2019, vous pouvez créer, supprimer, décrire, initialiser, exécuter et mettre à jour votre application. Le tableau suivant décrit les commandes de déploiement d’application que vous pouvez utiliser avec azdata.

Commande Description
azdata login Pour se connecter à un cluster Big Data SQL Server
azdata app create Créez une application.
azdata app delete Supprimez une application.
azdata app describe Décrivez une application.
azdata app init Lancez un nouveau squelette d’applications.
azdata app list Répertoriez une ou des applications.
azdata app run Exécutez une application.
azdata app update Mettez à jour une application.

Vous pouvez utiliser le paramètre --help pour obtenir de l’aide, comme dans l’exemple suivant :

azdata app create --help

Les sections suivantes décrivent ces commandes de façon plus détaillée.

Se connecter

Avant de déployer ou d’utiliser les applications, connectez-vous à votre cluster Big Data SQL Server à l’aide de la commande azdata login. Spécifiez l’adresse IP externe du service controller-svc-external (par exemple, https://ip-address:30080), ainsi que le nom d’utilisateur et le mot de passe du cluster.

azdata login --controller-endpoint https://<ip-address-of-controller-svc-external>:30080 --controller-username <user-name>

Azure Kubernetes Service (AKS)

Si vous utilisez AKS, vous devez exécuter la commande suivante pour obtenir l’adresse IP du service controller-svc-external en exécutant cette commande dans une fenêtre bash ou cmd :

kubectl get svc controller-svc-external -n <name of your big data cluster>

Clusters Kubernetes créés avec kubeadm

Exécutez la commande suivante pour obtenir l’adresse IP permettant de se connecter au cluster

kubectl get node --selector='node-role.kubernetes.io/master'

Créer un squelette d’application

La commande azdata app init fournit une structure avec les artefacts nécessaires au déploiement d’une application. L’exemple ci-dessous crée add-app, en exécutant la commande suivante.

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

Cela crée un dossier nommé « hello ». Vous pouvez utiliser la commande cd dans le répertoire et inspecter les fichiers générés dans le dossier. spec.yaml définit l’application, par exemple son nom, sa version et son code source. Vous pouvez modifier les spécifications pour changer le nom, la version, l’entrée et les sorties.

Voici un exemple de sortie de la commande init que vous verrez dans le dossier

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

Créer une application

Pour créer une application, utilisez Azure Data CLI (azdata) avec la commande app create. Ces fichiers résident localement sur la machine à partir de laquelle vous créez l’application.

Pour créer une application sur un cluster Big Data, utilisez la syntaxe suivante :

azdata app create --spec <directory containing spec file>

La commande suivante montre ce à quoi cela peut ressembler :

azdata app create --spec ./addpy

Cela suppose que votre application est stockée dans le dossier addpy. Ce dossier doit également contenir un fichier de spécifications (nommé spec.yaml) pour l’application. Pour plus d’informations, consultez la page Déploiement d’application concernant le fichier spec.yaml.

Pour déployer cet exemple d’application, créez les fichiers suivants dans un répertoire appelé addpy :

  • add.py. Copiez le code Python suivant dans ce fichier :
    #add.py
    def add(x, y):
      result = x+y
      return result
    result=add(x,y)
    
  • spec.yaml. Copiez le code suivant dans ce fichier :
    #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
    

Ensuite, exécutez la commande ci-dessous :

azdata app create --spec ./addpy

Vous pouvez vérifier si l’application est déployée à l’aide de la commande list :

azdata app list

Si le déploiement n’est pas terminé, state doit afficher WaitingforCreate, comme dans l’exemple suivant :

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

Une fois le déploiement réussi, l’état de state doit passer à Ready :

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

Lister une application

Vous pouvez lister toutes les applications qui ont été créées à l’aide de la commande app list.

La commande suivante liste toutes les applications qui sont disponibles dans votre cluster Big Data :

azdata app list

Si vous spécifiez un nom et une version, la commande liste une application et son état (En cours de création ou Prêt) :

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

L’exemple ci-dessous montre cette commande :

azdata app list --name add-app --version v1

Vous devez obtenir une sortie similaire à la suivante :

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

Supprimer une application

Pour supprimer une application de votre cluster Big Data, utilisez la syntaxe suivante :

azdata app delete --name add-app --version v1

Pour plus d’informations, découvrez comment intégrer des applications déployées sur Clusters Big Data SQL Server dans vos propres applications pour Exécuter des applications sur des clusters Big Data et Utiliser des applications sur des clusters Big Data. Vous pouvez également consulter d’autres exemples de déploiement d’application.

Pour plus d’informations sur Clusters Big Data SQL Server, consultez Présentation des Clusters de Big Data SQL Server 2019.