Развертывание приложения в кластерах больших данных SQL Server

Область применения: SQL Server 2019 (15.x)

Важно!

Поддержка надстройки "Кластеры больших данных" Microsoft SQL Server 2019 будет прекращена. Мы прекратим поддержку Кластеров больших данных SQL Server 2019 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, и программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений SQL Server до этого времени. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе Microsoft SQL Server.

Приложения, развернутые в Кластерах больших данных SQL Server, не только получают множество преимуществ, таких как вычислительная мощность кластера, но также имеют доступ к большому объему данных в кластере. Это значительно повышает производительность, так как приложение находится в том же кластере, где находятся данные.

Приложения развертываются и управляются с помощью Azure Data CLI (azdata).

В этой статье приведены примеры развертывания приложений из командной строки в кластере больших данных SQL Server. Сведения об использовании этой функции в Visual Studio Code см. в разделе Расширение Visual Studio Code.

Необходимые компоненты

Возможности

В SQL Server 2019 можно создать, удалить, описать, инициализировать, перечислить, запустить и обновить приложение. В следующей таблице описаны команды развертывания приложения, которые можно использовать с azdata.

Команда Description
azdata login Вход в кластер больших данных SQL Server.
azdata app create Создание приложения.
azdata app delete Удаление приложения.
azdata app describe Описание приложения.
azdata app init Быстрое создание основы нового приложения.
azdata app list Вывод списка приложений.
azdata app run Выполнение приложения.
azdata app update Обновление приложения.

Справку по параметру --help можно получить, как показано в следующем примере.

azdata app create --help

В следующих разделах эти команды описаны более подробно.

Вход

Прежде чем развертывать приложения или взаимодействовать с ними, сначала войдите в кластер больших данных SQL Server с помощью команды azdata login. Укажите внешний IP-адрес службы controller-svc-external (например, https://ip-address:30080), а также имя пользователя и пароль для кластера.

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

Служба Azure Kubernetes (AKS)

При использовании AKS нужно выполнить следующую команду в окне bash или cmd, чтобы получить IP-адрес службы controller-svc-external.

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

Кластеры Kubernetes, созданные с помощью kubeadm

Чтобы получить IP-адрес для входа в кластер, выполните следующую команду.

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

Создание основы приложения

Команда azdata app init обеспечивает формирование шаблонов с соответствующими артефактами, необходимое для развертывания приложения. В приведенном ниже примере создается приложение add-app с помощью следующей команды.

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

При этом создается папка с именем hello. Вы можете использовать команду cd в каталоге и проверить созданные файлы в папке. Спецификация spec. YAML определяет приложение, например имя, версию и исходный код. Вы можете изменить эту спецификацию, чтобы изменить имя, версию, входные и выходные данные.

Ниже приведен пример выходных данных команды init, которые будут отображаться в папке.

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

Создать приложение

Чтобы создать приложение, используйте Azure Data CLI (azdata) с app create помощью команды. Эти файлы располагаются локально на компьютере, где вы создаете приложение.

Чтобы создать приложение в кластере больших данных, используйте следующий синтаксис.

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

Ниже показан пример того, как может выглядеть эта команда.

azdata app create --spec ./addpy

Предполагается, что ваше приложение хранится в папке addpy. Эта папка также должна содержать файл спецификации для приложения — spec.yaml. Дополнительные сведения о файле spec.yaml см. на странице Развертывание приложений.

Чтобы развернуть этот пример приложения, создайте следующие файлы в каталоге с именем addpy.

  • add.py. Скопируйте следующий код Python в этот файл:
    #add.py
    def add(x, y):
      result = x+y
      return result
    result=add(x,y)
    
  • spec.yaml. Скопируйте следующий код в этот файл:
    #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
    

Затем выполните следующую команду.

azdata app create --spec ./addpy

Проверить, развернуто ли приложение, можно с помощью команды list.

azdata app list

Если развертывание не завершено, в state отображается WaitingforCreate, как показано в примере ниже.

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

После успешного развертывания состояние state должно изменить на Ready.

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

Перечисление приложения

Вы можете перечислить любые приложения, которые были успешно созданы с помощью команды app list.

Следующая команда перечисляет все доступные приложения в кластере больших данных.

azdata app list

Если указать имя и версию, она перечисляет конкретное приложение и его состояние (создание или готовность).

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

Следующий пример демонстрирует использование этой команды.

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

Выходные данные должны соответствовать следующему примеру.

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

Удаление приложения

Чтобы удалить приложение из кластера больших данных, используйте следующий синтаксис.

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

Узнайте, как интегрировать приложения, развернутые в SQL Server Кластеры больших данных в собственных приложениях, в приложениях запуска в кластерах больших данных и использовании приложений в кластерах больших данных для получения дополнительных сведений. Дополнительные примеры можно просмотреть в наборе примеров развертывания приложений.

Дополнительные сведения о Кластеры больших данных SQL Server см. в Кластеры больших данных sql Server 2019.