Установка Служб машинного обучения 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) не поддерживается.

Вы можете установить Машинное обучение Services на контейнер Docker с дистрибутивом Linux. Внутри контейнера Docker шаги происходят следующим образом.

Дополнительные сведения см. в разделе "Поддерживаемые платформы" в руководстве по установке SQL Server на Linux.

Important

В этой статье рассматривается SQL Server 2022 (16.x). Для SQL Server 2019 на Linux см. раздел Install SQL Server 2019 Машинное обучение Services (Python and R) on Linux. Сведения об SQL Server в Windows см. в статье «Установка служб машинного обучения SQL Server 2022 (Python и R) в Windows».

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

  • Установите SQL Server в Linux и проверьте установку.

  • Проверьте репозитории SQL Server в Linux для расширений Python и R. Если вы уже настроили исходные репозитории для ядра СУБД, можете выполнить команды установки пакета mssql-server-extensibility, используя ту же регистрацию репозиториев.

  • У вас должен быть инструмент для выполнения команд Transact-SQL (T-SQL).

  • Перезапуск экземпляра SQL Server во время этого процесса установки потребуется.

Список пакетов

На устройстве, подключенном к Интернету, пакеты скачиваются и устанавливаются независимо от ядра СУБД с помощью установщика пакетов для каждой операционной системы.

Следующий установочный пакет доступен для SQL Server 2022 (16.x) на Linux:

Имя пакета Область действия Description
mssql-server-extensibility All Платформа расширяемости, используемая для выполнения кода Python и R.

Установите пакет mssql-server-extensibility

  1. Настройте репозитории для установки и обновления SQL Server на 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
    
  2. Ознакомьтесь и примите Лицензионное соглашение для конечного пользователя (EULA) для SQL Server Машинное обучение Services.

    sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
    

    Чтобы завершить принятие лицензионного соглашения, необходимо перезапустить экземпляр SQL Server.

    sudo systemctl restart mssql-server
    

Настройка поддержки R

Установка среды выполнения R

  1. Скачайте и установите нужную версию R. Выберите версию R 4.2 или более позднюю, доступную для скачивания непосредственно на cran.r-project.org. Следуйте инструкциям для требуемой среды выполнения.

  2. Откройте терминал R администратора:

    sudo R
    
  3. Установите зависимости для 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")
    
  4. Скачайте и установите CompatibilityAPI и RevoScaleR для 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")
    
  5. Проверьте установку RevoScaleR в терминале R.

    library("RevoScaleR")
    

Настройка среды выполнения R с помощью SQL Server

  1. Настройте установленное время выполнения R с помощью SQL Server для Linux. Следующие команды используют стандартные пути установки R. Обновите пути, если вы установили R в другом месте.

    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
    
  2. Перезапустите службу mssql-launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Настройте SQL Server для Linux, чтобы разрешить внешние скрипты, используя системную хранимую процедуру sp_configure.

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  4. Проверьте установку, выполнив простую команду T-SQL для получения версии R:

    EXECUTE sp_execute_external_script
        @script = N'print(R.version)',
        @language = N'R';
    GO
    

Настройка поддержки Python

Установка среды выполнения Python

  1. Скачайте и установите Python. Выберите Python 3.10, доступный для скачивания напрямую с python.org. Следуйте предоставленным инструкциям. Также установите разделяемую библиотеку среды выполнения Python для этой версии среды выполнения. Например, чтобы установить libpython3.10 для Ubuntu: sudo apt-get install libpython3.10

  2. Скачайте и установите revoscalepy для пользователя root.

    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
    
  3. Проверьте установку revoscalepy из терминала Python. Убедитесь, что библиотеку можно импортировать.

    import revoscalepy
    

Настройка среды выполнения Python с помощью SQL Server

  1. Настройте установленную среду выполнения Python для SQL Server, где для pythonbinpath указан путь к установленному исполняемому файлу 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
    
  2. Перезапустите службу mssql-launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Настройте SQL Server для Linux, чтобы разрешить внешние скрипты, используя системную хранимую процедуру sp_configure.

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  4. Проверьте установку, выполнив простую команду T-SQL для возврата версии Python:

    EXECUTE 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.

    EXECUTE 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.

    EXECUTE 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
    

Автономная установка

Описание шагов по установке пакетов см. в инструкциях по автономной установке. Найдите свой сайт для скачивания, а затем скачайте конкретные пакеты, используя приведённый выше список пакетов.

Tip

Некоторые средства управления пакетами предоставляют команды, помогающие определить зависимости пакетов. Для 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 для автономного сценария, следуйте инструкциям в разделах Install Python runtime и Install R соответственно.