Поделиться через


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

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

Important

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

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

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

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

Prerequisites

Capabilities

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

Command Description
azdata login Вход в кластер больших данных SQL Server
azdata app create Create application.
azdata app delete Delete application.
azdata app describe Describe application.
azdata app init Запуск нового скелета приложения.
azdata app list List application(s).
azdata app run Run application.
azdata app update Update application.

Вы можете получить справку по параметру --help как показано в следующем примере:

azdata app create --help

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

Sign in

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

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

Служба Azure Kubernetes (AKS)

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

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 предоставляет шаблон с соответствующими артефактами, необходимыми для развертывания приложения. Приведенный ниже пример создает добавляемое приложение, которое можно запустить с помощью следующей команды.

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:

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

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

azdata app create --spec ./addpy

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

azdata app list

Если развертывание не завершено, вы должны увидеть stateWaitingforCreate, как в следующем примере:

[
  {
    "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".