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


Запуск скриптов Python и R со службами машинного обучения в кластерах больших данных SQL Server 2019

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

Это важно

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

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

Замечание

Вы также можете запустить код Java на главном экземпляре кластеров больших данных SQL Server с расширением языка Java. Ниже приведены инструкции по включению расширений языка SQL Server.

Включение служб машинного обучения

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

Чтобы включить службы машинного обучения, выполните следующую команду на главном экземпляре:

EXEC sp_configure 'external scripts enabled', 1
RECONFIGURE WITH OVERRIDE
GO

Теперь вы готовы запускать скрипты Python и R в главном экземпляре кластеров больших данных. Ознакомьтесь с краткими руководствами, описанными в разделе "Дальнейшие действия " для запуска первого сценария.

Замечание

Параметр конфигурации не может быть задан в подключении прослушивателя группы доступности. Если кластеры больших данных развертываются с высоким уровнем доступности, установите external scripts enabled для каждой реплики. См. Включить в кластере с высокой доступностью.

Включить на кластере с высокой доступностью

При развертывании кластера больших данных SQL Server с высокой доступностью развертывание создает группу доступности для главного экземпляра. Чтобы включить службы машинного обучения, задайте external scripts enabled для каждого экземпляра группы доступности. Для кластера больших данных необходимо выполнить sp_configure на каждой реплике главного экземпляра SQL Server.

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

Создайте внешний балансировщик нагрузки для каждого экземпляра.

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

kubectl expose pod <pod-name> --port=<connection port number> --name=<load-balancer-name> --type=LoadBalancer -n <kubernetes namespace>

В примерах в этой статье используются следующие значения:

  • <pod-name>: master-#
  • <connection port number>: 1533
  • <load-balancer-name>: mymaster-#
  • <kubernetes namespace>: mssql-cluster

Обновите следующий скрипт для вашей среды и выполните команды:

kubectl expose pod master-0 --port=1533 --name=mymaster-0 --type=LoadBalancer -n mssql-cluster
kubectl expose pod master-1 --port=1533 --name=mymaster-1 --type=LoadBalancer -n mssql-cluster
kubectl expose pod master-2 --port=1533 --name=mymaster-2 --type=LoadBalancer -n mssql-cluster

kubectl возвращает следующие выходные данные.

service/mymaster-0 exposed
service/mymaster-1 exposed
service/mymaster-2 exposed

Каждый балансировщик нагрузки представляет собой конечную точку главной реплики.

Включение выполнения скрипта для каждой реплики

  1. Получите IP-адрес для конечной точки главной реплики.

    Следующая команда возвращает внешний IP-адрес конечной точки реплики.

    kubectl get services <load-balancer-name> -n <kubernetes namespace>

    Чтобы получить внешний IP-адрес для каждой реплики в этом сценарии, выполните следующие команды:

    kubectl get services mymaster-0 -n mssql-cluster
    kubectl get services mymaster-1 -n mssql-cluster
    kubectl get services mymaster-2 -n mssql-cluster
    

    Замечание

    До того, как внешний IP-адрес будет доступен, может потребоваться немного времени. Периодически запустите предыдущий скрипт, пока каждая конечная точка не возвращает внешний IP-адрес.

  2. Подключитесь к конечной точке главной реплики и включите выполнение скрипта.

    Выполните следующую инструкцию:

    EXEC sp_configure 'external scripts enabled', 1
    RECONFIGURE WITH OVERRIDE
    GO
    

    Например, можно выполнить предыдущую команду с sqlcmd. В следующем примере выполняется подключение к конечной точке главной реплики и выполнение скрипта. Обновите значения в скрипте для вашей среды.

    sqlcmd -S <IP address>,1533 -U <user name> -P <password> -Q "EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;"
    

    Повторите шаг для каждой реплики.

Демонстрация

На следующем рисунке показан этот процесс.

Снимок экрана: командная строка с демонстрацией шагов, необходимых для включения внешних скриптов.

Теперь вы готовы запускать скрипты Python и R в главном экземпляре кластеров больших данных. Ознакомьтесь с краткими руководствами, описанными в разделе "Дальнейшие действия " для запуска первого сценария.

Удалите конечные точки основной реплики

В кластере Kubernetes удалите конечную точку для каждой реплики. Конечная точка предоставляется в Kubernetes в качестве службы балансировки нагрузки.

Следующая команда удаляет службу балансировки нагрузки.

kubectl delete svc <load-balancer-name> -n mssql-cluster

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

kubectl delete svc mymaster-0 -n mssql-cluster
kubectl delete svc mymaster-1 -n mssql-cluster
kubectl delete svc mymaster-2 -n mssql-cluster

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

Быстрые стартовые руководства по Python

Краткие инструкции по R

Учебники по машинному обучению кластеров больших данных SQL Server

Руководство по Python

Прокат лыж (линейная регрессия)

Категоризация клиентов (кластеризация методом k-средних)

Чаевые за поездку в такси в Нью-Йорке (классификация)

Учебники по R

Прокат лыж (дерево принятия решений)

Категоризация клиентов (кластеризация методом k-средних)

Чаевые за поездку в такси в Нью-Йорке (классификация)

Руководство по машинному обучению кластеров больших данных SQL Server

Исследование и моделирование данных

Преобразования типов данных

Развертывание

Прогнозы

Управление пакетами

Установка новых пакетов Python

Установка новых пакетов R

Монитор

Безопасность

Машинное обучение Spark

Дальнейшие шаги