Установка Служб машинного обучения SQL Server (Python, R) в Docker
Область применения: SQL Server 2019 (15.x) — Linux
В этой статье объясняется, как установить Службы машинного обучения SQL Server в Docker. Службы машинного обучения можно использовать для запуска сценариев R или Python в базе данных. Мы не предоставляем готовые контейнеры со Службами машинного обучения. Вы можете создать их из контейнеров SQL Server, используя пример шаблона, доступный на сайте GitHub.
Необходимые компоненты
Интерфейс командной строки Git.
Docker Engine 1.8 и более поздних версий на любом поддерживаемом дистрибутиве Linux. Дополнительные сведения см. в статье Получение Docker. SQL Server в контейнерах не поддерживается в Windows или macOS для использования в рабочей среде.
См. также требования к системе для SQL Server на Linux.
Клонирование репозитория mssql-docker
Следующая команда позволяет клонировать репозиторий mssql-docker
Git в локальный каталог.
Откройте терминал Bash в Linux или Mac.
Создайте каталог для хранения локальной копии репозитория mssql-docker.
Выполните команду git clone, чтобы клонировать репозиторий mssql-docker:
git clone https://github.com/microsoft/mssql-docker mssql-docker
Создание образа контейнера SQL Server Linux
Чтобы создать образ Docker, выполните следующие шаги:
Измените каталог на mssql-mlservices:
/mssql-docker/linux/preview/examples/mssql-mlservices
В том же каталоге выполните следующую команду:
docker build -t mssql-server-mlservices .
Выполните команду:
Внимание
Переменная среды
SA_PASSWORD
является нерекомендуемой. Вместо этого используйтеMSSQL_SA_PASSWORD
.docker run -d -e MSSQL_PID=Developer -e ACCEPT_EULA=Y -e ACCEPT_EULA_ML=Y -e MSSQL_SA_PASSWORD=<password> -v <directory on the host OS>:/var/opt/mssql -p 1433:1433 mssql-server-mlservices
Примечание.
Любое из следующих значений можно использовать для MSSQL_PID: разработчик (бесплатный), Express (бесплатный), Enteprise (платный), Standard (платный). Если вы используете платный выпуск, убедитесь, что вы приобрели лицензию. Замените значение (пароль) фактическим паролем. Монтирование томов с помощью -v необязательно. Замените (каталог в ОС узла) фактическим каталогом, в который необходимо подключить файлы данных и журналов базы данных.
Подтвердите, выполнив следующую команду:
docker ps -a
Примечание.
Для создания образа Docker вам нужно установить пакеты размером в несколько ГБ. Выполнение сценария может занять некоторое время в зависимости от пропускной способности сети.
Запуск образа контейнера SQL Server Linux
Перед запуском контейнера задайте переменные среды. В качестве значения переменной среды PATH_TO_MSSQL укажите каталог узла:
export MSSQL_PID='Developer' export ACCEPT_EULA='Y' export ACCEPT_EULA_ML='Y' export PATH_TO_MSSQL='/home/mssql/'
Примечание.
Процесс запуска контейнера с рабочими выпусками SQL Server немного отличается. Дополнительные сведения см. в статье Настройка образов контейнеров SQL Server в Docker. Если вы используете те же имена и порты контейнеров, действия в оставшейся части этого руководства будут актуальны и для рабочих контейнеров.
Чтобы просмотреть контейнеры, выполните
docker ps
команду:sudo docker ps -a
Если в столбце STATUS (Состояние) отображается значение Up (Работает), SQL Server выполняется в контейнере и прослушивает порт, указанный в столбце PORTS (Порты). Если в столбце STATUS контейнера с SQL Server отображается Exited (завершен), см.руководство Устранение неполадок конфигурации.
Выходные данные:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 941e1bdf8e1d mcr.microsoft.com/mssql/server/mssql-server-linux "/bin/sh -c /opt/m..." About an hour ago Up About an hour 0.0.0.0:1401->1433/tcp sql1
Включение служб машинного обучения
Чтобы включить Службы машинного обучения, подключитесь к экземпляру SQL Server и выполните следующую инструкцию T-SQL:
EXEC sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE
Связанный контент
Разработчики на языке Python могут узнать, как использовать Python с SQL Server, изучив следующие руководства.
- Руководство по Python. Прогнозирование аренды лыж с помощью линейной регрессии в службах SQL Server Машинное обучение
- Руководство по Python. Классификация клиентов с помощью кластеризации k-средних с помощью служб SQL Server Машинное обучение
Разработчики на языке R могут ознакомиться с простыми примерами, а также узнать, как код R работает с SQL Server. Дополнительные сведения см. в следующих статьях.