Установка Служб машинного обучения SQL Server 2022 (Python, R) на Linux
Область применения: SQL Server 2022 (16.x) — Linux
В этой статье представлен порядок установки Службы машинного обучения SQL Server в Linux. Службы машинного обучения можно использовать для запуска сценариев R или Python в базе данных.
Службы Машинное обучение можно установить в Ubuntu и Red Hat Enterprise Linux (RHEL). В настоящее время SUSE Linux Enterprise Server (SLES) не поддерживается.
Службы машинного обучения можно установить в контейнере Docker, выполняющем дистрибутив Linux. В контейнере Docker этапы будут такими же, как показано ниже.
Дополнительные сведения см. в разделе "Поддерживаемые платформы" в руководстве по установке SQL Server на Linux.
Внимание
В этой статье рассматривается SQL Server 2022 (16.x). Сведения о SQL Server 2019 в Linux см. в статье Установка служб Машинного обучения SQL Server 2019 (Python и R) на Linux. Сведения о SQL Server в Windows см. в статье "Установка SQL Server 2022 Машинное обучение Services (Python и R) в Windows.
Контрольный список перед установкой
Установите SQL Server в Linux и проверьте установку.
Проверьте репозитории SQL Server в Linux для расширений Python и R. Если вы уже настроили исходные репозитории для ядра СУБД, можете выполнить команды установки пакета mssql-server-extensibility, используя ту же регистрацию репозиториев.
У вас должно быть средство для выполнения команд T-SQL.
- Вы можете использовать Azure Data Studio, бесплатное средство для работы с базами данных, которое работает в Linux, Windows и macOS.
Перезапуск экземпляра SQL Server во время этого процесса установки потребуется.
Список пакетов
На устройстве, подключенном к Интернету, пакеты скачиваются и устанавливаются независимо от ядра СУБД с помощью установщика пакетов для каждой операционной системы.
Доступные пакеты установки для SQL Server 2022 (16.x) в Linux:
Имя пакета | Область действия | Description |
---|---|---|
mssql-server-extensibility | Все | Платформа расширяемости, используемая для выполнения кода Python и R. |
Установка пакета mssql-server-extensibility
Настройте репозитории Linux, соответствующие дистрибутиву Linux. Установите функцию расширяемости SQL Server с пакетом
mssql-server-extensibility
и связанной зависимостьюlibssl-dev
.Ubuntu
sudo apt-get install mssql-server-extensibility libssl-dev
RHEL
yum install mssql-server-extensibility
Просмотрите и примите лицензионное соглашение (EULA) для служб МАШИНного обучения SQL Server.
sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
Чтобы завершить принятие лицензионного соглашения, необходимо перезапустить экземпляр SQL Server.
sudo systemctl restart mssql-server
Установка сред выполнения и пакетов
Настройка поддержки R
Установка среды выполнения R
Скачайте и установите нужную версию R. Выберите версию R 4.2 или более позднюю, доступную для скачивания непосредственно на cran.r-project.org. Следуйте инструкциям для требуемой среды выполнения.
Откройте терминал R администратора:
sudo R
Установите зависимости для
CompatibilityAPI
иRevoScaleR
выполните следующие действия:# R Terminal install.packages("iterators", lib="/usr/lib/R/library") install.packages("foreach", lib="/usr/lib/R/library") install.packages("R6", lib="/usr/lib/R/library") install.packages("jsonlite", lib="/usr/lib/R/library")
Скачайте и установите и
RevoScaleR
установитеCompatibilityAPI
для Linux.install.packages("https://aka.ms/sqlml/r4.2/linux/CompatibilityAPI_1.1.0_R_x86_64-pc-linux-gnu.tar.gz", repos=NULL, lib="/usr/lib/R/library") install.packages("https://aka.ms/sqlml/r4.2/linux/RevoScaleR_10.0.1_R_x86_64-pc-linux-gnu.tar.gz", repos=NULL, lib="/usr/lib/R/library")
Проверьте
RevoScaleR
установку из терминала R.library("RevoScaleR")
Настройка среды выполнения R с помощью SQL Server
Настройте установленную среду выполнения R с помощью SQL Server для Linux, где
path/to/
является путем к двоичному файлу R, аRFolderVersion
— именем папки конкретной версии для установки среды выполнения R, напримерR4.2
.sudo /opt/mssql/bin/mssql-conf set extensibility rbinpath /usr/lib/R/bin/R sudo /opt/mssql/bin/mssql-conf set extensibility datadirectories /usr/lib/R
Перезапустите службу
Launchpadd
.systemctl restart mssql-launchpadd.service
Настройте SQL Server для Linux, чтобы разрешить внешние скрипты, используя системную хранимую процедуру
sp_configure
.EXEC sp_configure 'external scripts enabled', 1; GO RECONFIGURE GO
Проверьте установку, выполнив простую команду T-SQL для получения версии R:
EXEC sp_execute_external_script @script=N'print(R.version)',@language=N'R'; GO
Настройка поддержки Python
Установка среды выполнения Python
Скачайте и установите Python. Выберите версию Python 3.10, доступную для скачивания непосредственно из python.org. Следуйте приведенным инструкциям. Кроме того, установите общую библиотеку среды выполнения Python для версии среды выполнения. Например, чтобы установить
libpython3.10
для Ubuntu:sudo apt-get install libpython3.10
Скачайте и установите
revoscalepy
корневого пользователя.sudo pip install dill numpy==1.22.0 pandas patsy python-dateutil sudo pip install https://aka.ms/sqlml/python3.10/linux/revoscalepy-10.0.1-py3-none-any.whl --target=/usr/lib/python3.10/dist-packages
Проверьте установку
revoscalepy
из терминала Python. Убедитесь, что библиотеку можно импортировать.import revoscalepy
Настройка среды выполнения Python с помощью SQL Server
Настройте установленную среду выполнения Python с помощью SQL Server, где
pythonbinbath
устанавливается путь к установленному двоичному файлу Python, аdatadirectories
также путь, по которому устанавливаются пакеты для требуемой версии Python, например/usr/lib/python3.10/dist-packages
. Воспользуйтесь следующим сценарием с фактическим путем установки:sudo /opt/mssql/bin/mssql-conf set extensibility pythonbinpath /usr/bin/python3.10 sudo /opt/mssql/bin/mssql-conf set extensibility datadirectories /usr/lib:/usr/lib/python3.10/dist-packages
Перезапустите службу
Launchpadd
.systemctl restart mssql-launchpadd.service
Настройте SQL Server для Linux, чтобы разрешить внешние скрипты, используя системную хранимую процедуру
sp_configure
.EXEC sp_configure 'external scripts enabled', 1; GO RECONFIGURE GO
Проверьте установку, выполнив простую команду T-SQL, чтобы вернуть версию Python:
EXEC sp_execute_external_script @script=N'import sys;print(sys.version)',@language=N'Python'; GO
Установка Java
Сведения об установке расширения языка Java см. в разделе об установке расширения языка Java для SQL Server на Linux.
Проверка установки
Чтобы проверить установку, используйте любой из следующих методов:
Запустите скрипт T-SQL, который выполняет системную хранимую процедуру, вызывающую Python или R, с помощью инструмента запросов.
Выполните следующую команду SQL для тестирования выполнения R в SQL Server. Возникли ошибки? Попробуйте перезапустить службу,
sudo systemctl restart mssql-server.service
.EXEC sp_execute_external_script @language =N'R', @script=N' OutputDataSet <- InputDataSet', @input_data_1 =N'SELECT 1 AS hello' WITH RESULT SETS (([hello] int not null)); GO
Выполните следующую команду SQL для тестирования выполнения Python в SQL Server.
EXEC sp_execute_external_script @language =N'Python', @script=N' OutputDataSet = InputDataSet; ', @input_data_1 =N'SELECT 1 AS hello' WITH RESULT SETS (([hello] int not null)); GO
Автономная установка
Описание шагов по установке пакетов см. в инструкциях по автономной установке. Найдите сайт скачивания, а затем скачайте конкретные пакеты с помощью приведенного ниже списка.
Совет
Некоторые средства управления пакетами предоставляют команды, помогающие определить зависимости пакетов. Для yum используйте sudo yum deplist [package]
. Для Ubuntu используйте sudo apt-get install --reinstall --download-only [package name]
, а затем dpkg -I [package name].deb
.
Автономные пакеты RevoScale для среды выполнения Python и R
Пакеты RevoScale также поддерживаются как автономный пакет с средами выполнения Python и R. Чтобы настроить среду выполнения Python или R для автономного сценария, следуйте инструкциям в разделе "Установка среды выполнения Python" и "Установка среды выполнения R" соответственно.
Связанный контент
Разработчики на языке Python могут узнать, как использовать Python с SQL Server, изучив следующие руководства.
- Руководство по Python. Прогнозирование аренды лыж с помощью линейной регрессии в службах SQL Server Машинное обучение
- Руководство по Python. Классификация клиентов с помощью кластеризации k-средних с помощью служб SQL Server Машинное обучение
Разработчики на языке R могут ознакомиться с простыми примерами, а также узнать, как код R работает с SQL Server. Дополнительные сведения см. в следующих статьях.