Развертывание приложения в кластерах больших данных 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.