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


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

  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.

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

    library("RevoScaleR")
    

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

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

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

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

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

Совет

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