Установка Служб машинного обучения SQL Server (Python, R) в LinuxInstall SQL Server Machine Learning Services (Python and R) on Linux

Область применения:  ДаSQL Server (только в Linux) НетБаза данных SQL Azure НетХранилище данных SQL AzureНетParallel Data Warehouse APPLIES TO: yesSQL Server (Linux only) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

В этой статье объясняется, как установить Службы машинного обучения SQL Server в Linux.This article explains how to install SQL Server Machine Learning Services on Linux. Службы машинного обучения можно использовать для запуска сценариев R или Python в базе данных.You can use Machine Learning Services to execute Python and R scripts in-database.

Поддерживаются следующие дистрибутивы Linux:The following Linux distributions are supported:

  • Red Hat Enterprise Linux (RHEL)Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES)SUSE Linux Enterprise Server (SLES)
  • UbuntuUbuntu

Службы машинного обучения являются надстройкой ядра СУБД.Machine Learning Services are a feature add-on to the database engine. Хотя ядро СУБД и Службы машинного обучения можно установить одновременно, рекомендуется сначала установить и настроить ядро СУБД SQL Server, чтобы устранить все неполадки, прежде чем добавлять дополнительные компоненты.Although you can install the database engine and Machine Learning Services concurrently, it's a best practice to install and configure the SQL Server database engine first so that you can resolve any issues before adding more components.

Пакет расширений Python и R находится в репозиториях исходного кода SQL Server для Linux.Package location for the Python and R extensions is in the SQL Server Linux source repositories. Если вы уже настроили репозитории исходного кода для ядра СУБД, команды установки пакета mssql-mlservices можно выполнить, используя ту же регистрацию репозиториев.If you already configured source repositories for the database engine install, you can run the mssql-mlservices package install commands using the same repo registration.

Службы машинного обучения также поддерживаются в контейнерах Linux.Machine Learning Services is also supported on Linux containers. Мы не предоставляем готовые контейнеры со Службами машинного обучения, однако вы можете создать такой контейнер для SQL Server, используя шаблон, доступный в GitHub.We do not provide pre-built containers with Machine Learning Services, but you can create one from the SQL Server containers using an example template available on GitHub.

Удаление предыдущей версии CTPUninstall previous CTP

За последние несколько выпусков CTP список пакетов изменился, и их стало меньше.The package list has changed over the last several CTP releases, resulting in fewer packages. Мы рекомендуем удалить версию CTP 2.x, чтобы удалить все предыдущие пакеты, прежде чем устанавливать версию CTP 3.2.We recommend uninstalling CTP 2.x to remove all previous packages before installing CTP 3.2. Параллельная установка нескольких версий не поддерживается.Side-by-side installation of multiple versions is not supported.

1. Подтверждение установки пакета1. Confirm package installation

В качестве первого шага вам может потребоваться проверить наличие предыдущей установки.You might want to check for the existence of a previous installation as a first step. Следующие файлы указывают на существующую установку: checkinstallextensibility.sh, exthost, launchpad.The following files indicate an existing installation: checkinstallextensibility.sh, exthost, launchpad.

ls /opt/microsoft/mssql/bin

2. Удаление пакетов предыдущей версии CTP 2.x2. Uninstall previous CTP 2.x packages

Выполняйте удаление на самом низком уровне пакета.Uninstall at the lowest package level. Любой вышестоящий пакет, зависящий от пакета более низкого уровня, удаляется автоматически.Any upstream package dependent on a lower-level package is automatically uninstalled.

  • Для интеграции с R удалите microsoft-r-open *.For R integration, remove microsoft-r-open*
  • Для интеграции с Python удалите mssql-mlservices-python.For Python integration, remove mssql-mlservices-python

Команды для удаления пакетов приведены в следующей таблице.Commands for removing packages appear in the following table.

ПлатформаPlatform Команды для удаления пакетовPackage removal command(s)
Red HatRed Hat sudo yum remove microsoft-r-open-mro-3.4.4
sudo yum remove msssql-mlservices-python
SUSESUSE sudo zypper remove microsoft-r-open-mro-3.4.4
sudo zypper remove msssql-mlservices-python
UbuntuUbuntu sudo apt-get remove microsoft-r-open-mro-3.4.4
sudo apt-get remove msssql-mlservices-python

Примечание

Microsoft R Open 3.4.4 состоит из двух или трех пакетов в зависимости от того, какой выпуск CTP был установлен ранее.Microsoft R Open 3.4.4 is composed of two or three packages, depending on which CTP release you previously installed. (Пакет foreachiterators был объединен в основной пакет mro в CTP 2.2.) Если какие-либо из этих пакетов остаются после удаления microsoft-r-open-mro-3.4.4, их следует удалить отдельно.(The foreachiterators package was combined into the main mro package in CTP 2.2.) If any of these packages remain after removing microsoft-r-open-mro-3.4.4, you should remove them individually.

microsoft-r-open-foreachiterators-3.4.4
microsoft-r-open-mkl-3.4.4
microsoft-r-open-mro-3.4.4

3. Начало установки CTP 3.23. Proceed with CTP 3.2 install

Выполните установку на самом верхнем уровне пакета, следуя инструкциям из этой статьи для вашей операционной системы.Install at the highest package level using the instructions in this article for your operating system.

Для каждого набора инструкций по установке, относящихся к определенной ОС, наивысшим уровнем пакета является Пример 1. Полная установка для полного набора пакетов либо Пример 2. Минимальная установка для минимального количества пакетов, необходимого для выполнения установки.For each OS-specific set of installation instructions, highest package level is either Example 1 - Full installation for the full set of packages, or Example 2 - Minimal installation for the least number of packages required for a viable installation.

  1. Для интеграции с R начните с MRO, так как это обязательный компонент.For R integration, start with MRO because it is a prerequisite. Без него интеграция с R не будет устанавливаться.R integration will not install without it.

  2. Выполните команды установки, используя диспетчеры пакетов и синтаксис для вашей операционной системы.Run install commands using the package managers and syntax for your operating system:

предварительные требованияPrerequisites

Установка Microsoft R Open (MRO)Microsoft R Open (MRO) installation

Базовый дистрибутив R от Майкрософт является необходимым компонентом для использования RevoScaleR, MicrosoftML и других пакетов R, устанавливаемых вместе со Службами машинного обучения.Microsoft's base distribution of R is a prerequisite for using RevoScaleR, MicrosoftML, and other R packages installed with Machine Learning Services.

Требуемая версия: MRO 3.5.2.The required version is MRO 3.5.2.

Выберите один из следующих двух подходов для установки MRO.Choose from the following two approaches to install MRO:

  • Скачайте tarball-архив MRO из MRAN, распакуйте его и запустите сценарий install.sh.Download the MRO tarball from MRAN, unpack it, and run its install.sh script. Вы можете выполнить инструкции по установке в MRAN, если хотите использовать этот подход.You can follow the installation instructions on MRAN if you want this approach.

  • Кроме того, можно зарегистрировать репозиторий packages.microsoft.com, как описано ниже, чтобы установить два пакета, составляющие дистрибутив MRO: microsoft-r-open-mro и microsoft-r-open-mkl.Alternatively, register the packages.microsoft.com repo as described below to install the two packages comprising the MRO distribution: microsoft-r-open-mro and microsoft-r-open-mkl.

Следующие команды регистрируют репозиторий, предоставляющий MRO.The following commands register the repository providing MRO. После регистрации команды для установки других пакетов R, таких как mssql-mlservices-mml-r, будут автоматически включать MRO в качестве зависимости пакета.Post-registration, the commands for installing other R packages, such as mssql-mlservices-mml-r, will automatically include MRO as a package dependency.

MRO в UbuntuMRO on Ubuntu

# Install as root
sudo su

# Optionally, if your system does not have the https apt transport option
apt-get install apt-transport-https

# Set the location of the package repo the "prod" directory containing the distribution.
# This example specifies 16.04. Replace with 14.04 if you want that version
wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb

# Register the repo
dpkg -i packages-microsoft-prod.deb

# Update packages on your system (required), including MRO installation
sudo apt-get update

MRO в Red HatMRO on Red Hat

# Import the Microsoft repository key
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc


# Set the location of the package repo at the "prod" directory
# The following command is for version 7.x
# For 6.x, replace 7 with 6 to get that version
rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

# Update packages on your system (optional)
yum update

MRO в SUSEMRO on SUSE

# Install as root
sudo su

# Set the location of the package repo at the "prod" directory containing the distribution
# This example is for SLES12, the only supported version of SUSE in Machine Learning Server
zypper ar -f https://packages.microsoft.com/sles/12/prod packages-microsoft-com

# Update packages on your system (optional)
zypper update

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

На устройстве, подключенном к Интернету, пакеты скачиваются и устанавливаются независимо от ядра СУБД с помощью установщика пакетов для каждой операционной системы.On an internet-connected device, packages are downloaded and installed independently of the database engine using the package installer for each operating system. В следующей таблице описаны все доступные пакеты, однако для R и Python можно указать пакеты, обеспечивающие установку всех компонентов или установку минимального набора компонентов.The following table describes all available packages, but for R and Python, you specify packages that provide either the full feature installation or the minimum feature installation.

Имя пакетаPackage name Область действияApplies-to ОписаниеDescription
mssql-server-extensibilitymssql-server-extensibility AllAll Платформа расширяемости, используемая для выполнения кода R и Python.Extensibility framework used to run R and Python code.
microsoft-openmpimicrosoft-openmpi Python, RPython, R Интерфейс передачи сообщений, используемый библиотеками Revo * для параллелизации в Linux.Message passing interface used by the Revo* libraries for parallelization on Linux.
mssql-mlservices-pythonmssql-mlservices-python PythonPython Дистрибутив Anaconda и Python с открытым кодом.Open-source distribution of Anaconda and Python.
mssql-mlservices-mlm-pymssql-mlservices-mlm-py PythonPython Полная установка.Full install. Предоставляет revoscalepy, microsoftml, предварительно обученные модели для выделения признаков изображений и анализа тональности текста.Provides revoscalepy, microsoftml, pre-trained models for image featurization and text sentiment analysis.
mssql-mlservices-packages-pymssql-mlservices-packages-py PythonPython Минимальная установка.Minimum install. Предоставляет revoscalepy и microsoftml.Provides revoscalepy and microsoftml.
Не включает в себя предварительно обученные модели.Excludes pre-trained models.
microsoft-r-open *microsoft-r-open* ЧтениеR Дистрибутив R с открытым исходным кодом, состоящий из трех пакетов.Open-source distribution of R, composed of three packages.
mssql-mlservices-mlm-rmssql-mlservices-mlm-r ЧтениеR Полная установка.Full install. Предоставляет RevoScaleR, MicrosoftML, sqlRUtils, olapR, предварительно обученные модели для выделения признаков изображений и анализа тональности текста.Provides RevoScaleR, MicrosoftML, sqlRUtils, olapR, pre-trained models for image featurization and text sentiment analysis.
mssql-mlservices-packages-rmssql-mlservices-packages-r ЧтениеR Минимальная установка.Minimum install. Предоставляет RevoScaleR, sqlRUtils, MicrosoftML, olapR.Provides RevoScaleR, sqlRUtils, MicrosoftML, olapR.
Не включает в себя предварительно обученные модели.Excludes pre-trained models.
mssql-mlservices-mml-pymssql-mlservices-mml-py Только CTP 2.0-2.1CTP 2.0-2.1 only Устарело в CTP 2.2 из-за объединения пакетов Python в mssql-mslservices-python.Obsolete in CTP 2.2 due to Python package consolidation into mssql-mslservices-python. Предоставляет revoscalepy.Provides revoscalepy. Не включает в себя предварительно обученные модели и microsoftml.Excludes pre-trained models and microsoftml.
mssql-mlservices-mml-rmssql-mlservices-mml-r Только CTP 2.0-2.1CTP 2.0-2.1 only Устарело в CTP 2.2 из-за объединения пакетов R в mssql-mslservices-python.Obsolete in CTP 2.2 due to R package consolidation into mssql-mslservices-python. Предоставляет RevoScaleR, sqlRUtils, olapR.Provides RevoScaleR, sqlRUtils, olapR. Не включает в себя предварительно обученные модели и MicrosoftML.Excludes pre-trained models and MicrosoftML.

Команды RedHatRedHat commands

Поддержку языков можно установить в любом требуемом сочетании (один или несколько языков).You can install language support in whatever combination you require (single or multiple languages). Для R и Python можно выбрать один из двух пакетов.For R and Python, there are two packages to choose from. Один предоставляет все доступные функции, что соответствует полной установке.One provides all available features, characterized as the full installation. Другой вариант исключает предварительно обученные модели машинного обучения и считается минимальной установкой.The alternative choice excludes the pretrained machine learning models and is considered the minimal installation.

Совет

По возможности запустите yum clean all, чтобы обновить пакеты в системе перед установкой.If possible, run yum clean all to refresh packages on the system prior to installation.

Пример 1. Полная установкаExample 1 - Full installation

Включает в себя R и Python с открытым исходным кодом, платформу расширяемости, microsoft-openmpi, расширения (R, Python), а также библиотеки машинного обучения и предварительно обученные модели для R и Python.Includes open-source R and Python, extensibility framework, microsoft-openmpi, extensions (R, Python), with machine learning libraries and pre-trained models for R and Python.

# Install as root or sudo
# Add everything (all R, Python)
# Be sure to include -9.4.7* in mlsservices package names
sudo yum install mssql-mlservices-mlm-py-9.4.7*
sudo yum install mssql-mlservices-mlm-r-9.4.7* 

Пример 2. Минимальная установкаExample 2 - Minimum installation

Включает в себя R и Python с открытым исходным кодом, платформу расширяемости, microsoft-openmpi, расширения (R, Python), а также основные библиотеки Revo * и библиотеки машинного обучения для R и Python.Includes open-source R and Python, extensibility framework, microsoft-openmpi, core Revo* libraries, and machine learning libraries for R and Python. Не включает в себя предварительно обученные модели.Excludes the pre-trained models.

# Install as root or sudo
# Minimum install of R, Python extensions
# Be sure to include -9.4.6* in mlsservices package names
sudo yum install mssql-mlservices-packages-py-9.4.7*
sudo yum install mssql-mlservices-packages-r-9.4.7*

Команды UbuntuUbuntu commands

Поддержку языков можно установить в любом требуемом сочетании (один или несколько языков).You can install language support in whatever combination you require (single or multiple languages). Для R и Python можно выбрать один из двух пакетов.For R and Python, there are two packages to choose from. Один предоставляет все доступные функции, что соответствует полной установке.One provides all available features, characterized as the full installation. Другой вариант исключает предварительно обученные модели машинного обучения и считается минимальной установкой.The alternative choice excludes the pretrained machine learning models and is considered the minimal installation.

Совет

По возможности запустите apt-get update, чтобы обновить пакеты в системе перед установкой.If possible, run apt-get update to refresh packages on the system prior to installation. Кроме того, некоторые образы Docker в Ubuntu могут не иметь варианта транспорта apt https.Additionally, some docker images of Ubuntu might not have the https apt transport option. Чтобы установить его, используйте apt-get install apt-transport-https.To install it, use apt-get install apt-transport-https.

Пример 1. Полная установкаExample 1 - Full installation

Включает в себя R и Python с открытым исходным кодом, платформу расширяемости, microsoft-openmpi, расширения (R, Python), а также библиотеки машинного обучения и предварительно обученные модели для R и Python.Includes open-source R and Python, extensibility framework, microsoft-openmpi, extensions (R, Python), with machine learning libraries and pre-trained models for R and Python.

# Install as root or sudo
# Add everything (all R, Python)
# There is no asterisk in this full install
sudo apt-get install mssql-mlservices-mlm-py 
sudo apt-get install mssql-mlservices-mlm-r 

Пример 2. Минимальная установкаExample 2 - Minimum installation

Включает в себя R и Python с открытым исходным кодом, платформу расширяемости, microsoft-openmpi, расширения (R, Python), а также основные библиотеки Revo * и библиотеки машинного обучения для R и Python.Includes open-source R and Python, extensibility framework, microsoft-openmpi, core Revo* libraries, and machine learning libraries for R and Python. Не включает в себя предварительно обученные модели.Excludes the pre-trained models.

# Install as root or sudo
# Minimum install of R, Python
# No aasterisk
sudo apt-get install mssql-mlservices-packages-py
sudo apt-get install mssql-mlservices-packages-r

Команды SUSESUSE commands

Поддержку языков можно установить в любом требуемом сочетании (один или несколько языков).You can install language support in whatever combination you require (single or multiple languages). Для R и Python можно выбрать один из двух пакетов.For R and Python, there are two packages to choose from. Один предоставляет все доступные функции, что соответствует полной установке.One provides all available features, characterized as the full installation. Другой вариант исключает предварительно обученные модели машинного обучения и считается минимальной установкой.The alternative choice excludes the pretrained machine learning models and is considered the minimal installation.

Пример 1. Полная установкаExample 1 - Full installation

Включает в себя R и Python с открытым исходным кодом, платформу расширяемости, microsoft-openmpi, расширения (R, Python), а также библиотеки машинного обучения и предварительно обученные модели для R и Python.Includes open-source R and Python, extensibility framework, microsoft-openmpi, extensions (R, Python), with machine learning libraries and pre-trained models for R and Python.

# Install as root or sudo
# Add everything (all R, Python)
# Be sure to include -9.4.7* in mlsservices package names
sudo zypper install mssql-mlservices-mlm-py-9.4.7*
sudo zypper install mssql-mlservices-mlm-r-9.4.7* 

Пример 2. Минимальная установкаExample 2 - Minimum installation

Включает в себя R и Python с открытым исходным кодом, платформу расширяемости, microsoft-openmpi, расширения (R, Python), а также основные библиотеки Revo * и библиотеки машинного обучения для R и Python.Includes open-source R and Python, extensibility framework, microsoft-openmpi, core Revo* libraries, and machine learning libraries for R and Python. Не включает в себя предварительно обученные модели.Excludes the pre-trained models.

# Install as root or sudo
# Minimum install of R, Python extensions
# Be sure to include -9.4.6* in mlsservices package names
sudo zypper install mssql-mlservices-packages-py-9.4.7*
sudo zypper install mssql-mlservices-packages-r-9.4.7*

Настройка после установки (обязательно)Post-install config (required)

Дополнительная настройка осуществляется в основном с помощью средства mssql-conf.Additional configuration is primarily through the mssql-conf tool.

  1. Добавьте учетную запись пользователя mssql, использованную для запуска службы SQL Server.Add the mssql user account used to run the SQL Server service. Это необходимо, если вы не выполняли установку ранее.This is required if you haven't run the setup previously.

    sudo /opt/mssql/bin/mssql-conf setup
    
  2. Примите условия лицензионного соглашения для R и Python с открытым исходным кодом.Accept the licensing agreements for open-source R and Python. Это можно сделать несколькими способами.There are several ways to do this. Если ранее вы приняли условия лицензирования SQL Server и теперь добавляете расширения R или Python, следующая команда выразит ваше согласие с соответствующими условиями.If you previously accepted SQL Server licensing and are now adding the R or Python extensions, the following command is your consent to their terms:

    # Run as SUDO or root
    # Use set + EULA 
    sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
    

    Альтернативная процедура заключается в том, что если вы еще не приняли условия соглашения о лицензировании ядра СУБД SQL Server, то программа установки обнаружит пакеты mssql-mlservices и выведет запрос на принятие условий лицензионного соглашения при запуске mssql-conf setup.An alternative workflow is that if you have not yet accepted the SQL Server database engine licensing agreement, setup detects the mssql-mlservices packages and prompts for EULA acceptance when mssql-conf setup is run. Дополнительные сведения о параметрах лицензионного соглашения см. в статье Настройка SQL Server с помощью средства mssql-conf.For more information about EULA parameters, see Configure SQL Server with the mssql-conf tool.

  3. Включите исходящий сетевой доступ.Enable outbound network access. По умолчанию исходящий сетевой доступ отключен.Outbound network access is disabled by default. Чтобы включить исходящие запросы, задайте логическое свойство outboundnetworkaccess с помощью средства mssql-conf.To enable outbound requests, set the "outboundnetworkaccess" Boolean property using the mssql-conf tool. Дополнительные сведения см. в статье Настройка SQL Server на Linux с помощью средства mssql-conf.For more information, see Configure SQL Server on Linux with mssql-conf.

    # Run as SUDO or root
    # Enable outbound requests over the network
    sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
    
  4. Только для интеграции с R присвойте переменной среды MKL_CBWR значение ensure consistent output из вычислений Intel Math Kernel Library (MKL).For R feature integration only, set the MKL_CBWR environment variable to ensure consistent output from Intel Math Kernel Library (MKL) calculations.

    • Измените или создайте файл .bash_profile в домашнем каталоге пользователя, добавив в него export MKL_CBWR="AUTO".Edit or create a file named .bash_profile in your user home directory, adding the line export MKL_CBWR="AUTO" to the file.

    • Выполните этот файл, введя команду source .bash_profile в командной строке bash.Execute this file by typing source .bash_profile at a bash command prompt.

  5. Перезапустите службу панели запуска SQL Server и экземпляр ядра СУБД, чтобы считать обновленные значения из INI-файла.Restart the SQL Server Launchpad service and the database engine instance to read the updated values from the INI file. При изменении любого свойства, связанного с расширяемостью, появляется сообщение с напоминанием о необходимости перезапуска.A restart message reminds you whenever an extensibility-related setting is modified.

    systemctl restart mssql-launchpadd
    
    systemctl restart mssql-server.service
    
  6. Включите выполнение внешнего скрипта с помощью Azure Data Studio или другого средства, например SQL Server Management Studio (только для Windows), выполняющего скрипты Transact-SQL.Enable external script execution using Azure Data Studio or another tool like SQL Server Management Studio (Windows only) that runs Transact-SQL.

    EXEC sp_configure 'external scripts enabled', 1 
    RECONFIGURE WITH OVERRIDE 
    
  7. Снова перезапустите службу панели запуска.Restart the Launchpad service again.

Проверка установкиVerify installation

Библиотеки R (MicrosoftML, RevoScaleR и др.) можно найти по адресу /opt/mssql/mlservices/libraries/RServer.R libraries (MicrosoftML, RevoScaleR, and others) can be found at /opt/mssql/mlservices/libraries/RServer.

Библиотеки Python (microsoftml и revoscalepy) можно найти по адресу /opt/mssql/mlservices/libraries/PythonServer.Python libraries (microsoftml and revoscalepy) can be found at /opt/mssql/mlservices/libraries/PythonServer.

Чтобы проверить установку, запустите скрипт T-SQL, который выполняет системную хранимую процедуру, вызывающую R или Python.To validate installation, run a T-SQL script that executes a system stored procedure invoking R or Python. Для выполнения этой задачи потребуется средство обработки запросов.You will need a query tool for this task. Хорошим выбором станет Azure Data Studio.Azure Data Studio is a good choice. Другие распространенные средства, такие как SQL Server Management Studio или PowerShell, подходят только для Windows.Other commonly used tools such as SQL Server Management Studio or PowerShell are Windows-only. Если у вас есть компьютер под управлением Windows с этими средствами, используйте его для подключения к установке ядра СУБД Linux.If you have a Windows computer with these tools, use it to connect to your Linux installation of the database engine.

Выполните следующую команду SQL для тестирования выполнения R в SQL Server.Execute the following SQL command to test R execution in SQL Server. Если этот скрипт не выполняется, попробуйте перезапустить службу: sudo systemctl restart mssql-server.service.If the script does not run, try a service restart, 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.Execute the following SQL command to test Python execution in 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 

Комбинированная установка по цепочкеChained "combo" install

Вы можете установить и настроить ядро СУБД и Службы машинного обучения в одной процедуре, добавив параметры и пакеты R или Python в команду, устанавливающую ядро СУБД.You can install and configure the database engine and Machine Learning Services in one procedure by appending R or Python packages and parameters on a command that installs the database engine.

  1. Для интеграции с R установите Microsoft R Open в качестве необходимого компонента.For R integration, install Microsoft R Open as a prerequisite. Пропустите этот шаг, если вы не устанавливаете компонент R.Skip this step if you are not installing the R feature.

  2. Укажите командную строку, включающую ядро СУБД, а также функции расширения языка.Provide a command line that includes the database engine, plus language extension features.

Вы можете добавить в установку ядра СУБД один компонент, например интеграцию с Python,You can add a single feature, such as Python integration, to a database engine install.

sudo yum install -y mssql-server mssql-mlservices-packages-r-9.4.7* 

либо добавить оба расширения (R, Python).Or, add both extensions (R, Python).

sudo yum install -y mssql-server mssql-mlservices-packages-r-9.4.7* mssql-mlservices-packages-py-9.4.7*
  1. Примите условия лицензионных соглашений и завершите настройку после установки.Accept license agreements and complete the post-install configuration. Для этой задачи используйте средство mssql-conf.Use the mssql-conf tool for this task.
sudo /opt/mssql/bin/mssql-conf setup

Вам будет предложено принять условия лицензионного соглашения для ядра СУБД, выбрать выпуск и задать пароль администратора.You will be prompted to accept the license agreement for the database engine, choose an edition, and set the administrator password. Вам также будет предложено принять условия лицензионного соглашения для Служб машинного обучения.You are also prompted to accept the license agreement for Machine Learning Services.

  1. При появлении соответствующего запроса перезапустите службу.Restart the service, if prompted to do so.
sudo systemctl restart mssql-server.service

Автоматическая установкаUnattended installation

С помощью автоматической установки для ядра СУБД вы можете добавить пакеты для mssql-mlservices и лицензионных соглашений.Using the unattended install for the Database Engine, add the packages for mssql-mlservices and EULAs.

Помните, что программа установки или средство mssql-conf запрашивает принятие условий лицензионного соглашения.Recall that Setup or the mssql-conf tool prompts for license agreement acceptance. Если вы уже настроили ядро СУБД SQL Server и приняли условия соответствующего лицензионного соглашения, используйте один из параметров лицензионного соглашения, привязанный к mlservices, для дистрибутивов R и Python с открытым исходным кодом.If you already configured SQL Server database engine and accepted its EULA, use one of the mlservices-specific EULA parameters for the open-source R and Python distributions:

sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml

Все возможные комбинации при принятии условий лицензионного соглашения описаны в статье Настройка SQL Server на Linux с помощью средства mssql-conf.All possible permutations of EULA acceptance are documented in Configure SQL Server on Linux with the mssql-conf tool.

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

Описание шагов по установке пакетов см. в инструкциях по автономной установке.Follow the Offline installation instructions for steps on installing the packages. Найдите сайт скачивания, а затем скачайте конкретные пакеты с помощью приведенного ниже списка.Find your download site, and then download specific packages using the package list below.

Совет

Некоторые средства управления пакетами предоставляют команды, помогающие определить зависимости пакетов.Several of the package management tools provide commands that can help you determine package dependencies. Для yum используйте sudo yum deplist [package].For yum, use sudo yum deplist [package]. Для Ubuntu используйте sudo apt-get install --reinstall --download-only [package name], а затем dpkg -I [package name].deb.For Ubuntu, use sudo apt-get install --reinstall --download-only [package name] followed by dpkg -I [package name].deb.

Сайт загрузкиDownload site

Пакеты можно скачать по адресу https://packages.microsoft.com/.You can download packages from https://packages.microsoft.com/. Все пакеты mlservices для R и Python размещены вместе с пакетом ядра СУБД.All of the mlservices packages for R and Python are colocated with database engine package. Базовой версией для пакетов mlservices является 9.4.5 (для CTP 2.0) или 9.4.6 (для CTP 2.1 и более поздних версий).Base version for the mlservices packages is 9.4.5 (for CTP 2.0) 9.4.6 (for CTP 2.1 and later). Не забывайте, что пакеты microsoft-r-open находятся в другом репозитории.Recall that the microsoft-r-open packages are in a different repository.

Пути RHEL/7RHEL/7 paths

Пакеты mssql/mlservicesmssql/mlservices packages https://packages.microsoft.com/rhel/7/mssql-server-preview/
Пакеты microsoft-r-openmicrosoft-r-open packages https://packages.microsoft.com/rhel/7/prod/

Пути Ubuntu/16.04Ubuntu/16.04 paths

Пакеты mssql/mlservicesmssql/mlservices packages https://packages.microsoft.com/ubuntu/16.04/mssql-server-preview/pool/main/m/
Пакеты microsoft-r-openmicrosoft-r-open packages https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/

Пути SLES/12SLES/12 paths

Пакеты mssql/mlservicesmssql/mlservices packages https://packages.microsoft.com/sles/12/mssql-server-preview/
Пакеты microsoft-r-openmicrosoft-r-open packages https://packages.microsoft.com/sles/12/prod/

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

В зависимости от того, какие расширения вы хотите использовать, скачайте пакеты, необходимые для конкретного языка.Depending on which extensions you want to use, download the packages necessary for a specific language. Точные имена файлов содержат сведения о платформе в суффиксе, но приведенные ниже имена должны быть достаточно понятными, чтобы вы могли определить, какие файлы нужно получить.Exact filenames include platform information in the suffix, but the file names below should be close enough for you to determine which files to get.

# Core packages 
mssql-server-15.0.1000
mssql-server-extensibility-15.0.1000

# R
microsoft-openmpi-3.0.0
microsoft-r-open-mkl-3.5.2
microsoft-r-open-mro-3.5.2
mssql-mlservices-packages-r-9.4.7.64
mssql-mlservices-mlm-r-9.4.7.64


# Python
microsoft-openmpi-3.0.0
mssql-mlservices-python-9.4.7.64
mssql-mlservices-packages-py-9.4.7.64
mssql-mlservices-mlm-py-9.4.7.64

Добавление дополнительных пакетов R/PythonAdd more R/Python packages

Вы можете установить другие пакеты R и Python и использовать их в скрипте, выполняемом в SQL Server 2019.You can install other R and Python packages and use them in script that executes on SQL Server 2019.

Пакеты RR packages

  1. Запустите сеанс R.Start an R session.

    # sudo /opt/mssql/mlservices/bin/R/R 
    
  2. Установите пакет R с именем glue, чтобы проверить установку пакета.Install an R package called glue to test package installation.

    # install.packages("glue",lib="/opt/mssql/mlservices/libraries/RServer") 
    

    Кроме того, можно установить пакет R из командной строки.Alternatively, you can install an R package from the command line

    # sudo /opt/mssql/mlservices/bin/R/R CMD INSTALL -l /opt/mssql/mlservices/libraries/RServer glue_1.1.1.tar.gz 
    
  3. Импортируйте пакет R в sp_execute_external_script.Import the R package in sp_execute_external_script.

    EXEC sp_execute_external_script  
    @language = N'R', 
    @script = N'library(glue)' 
    

Пакеты PythonPython packages

  1. Установите пакет Python с именем httpie, используя pip.Install a Python package called httpie using pip.

    # sudo /opt/mssql/mlservices/bin/python/python -m pip install httpie 
    
  2. Импортируйте пакет Python в sp_execute_external_script.Import the Python package in sp_execute_external_script.

    EXEC sp_execute_external_script  
    @language = N'Python',  
    @script = N'import httpie' 
    

Ограничения в выпусках CTPLimitations in CTP releases

Интеграция с R и Python в Linux по-прежнему находится на этапе активной разработки.R and Python integration on Linux is still under active development. Следующие функции пока не работают в предварительной версии.The following features are not yet enabled in the preview version.

  • Неявная проверка подлинности сейчас недоступна в Службах машинного обучения на Linux, поэтому вы не можете подключиться обратно к серверу из выполняемого скрипта R или Python для доступа к данным или другим ресурсам.Implied authentication is currently not available in Machine Learning Services on Linux at this time, which means you cannot connect back to the server from an in-progress R or Python script to access data or other resources.

Управление ресурсамиResource governance

С точки зрения управления ресурсами для внешних пулов ресурсов между Linux и Windows наблюдается паритет, однако статистика для sys.dm_resource_governor_external_resource_pools сейчас содержит другие единицы измерения для Linux.There is parity between Linux and Windows for Resource governance for external resource pools, but the statistics for sys.dm_resource_governor_external_resource_pools currently have different units on Linux. Единицы измерения будут согласованы в предстоящей версии CTP.Units will align in an upcoming CTP.

Имя столбцаColumn name ОписаниеDescription Значение в LinuxValue on Linux
peak_memory_kbpeak_memory_kb Максимальный объем используемой памяти для пула ресурсов.The maximum amount of memory used for the resource pool. В Linux эта статистика извлекается из подсистемы memory CGroups, где используется значение memory.max_usage_in_bytes.On Linux, this statistic is sourced from the CGroups memory subsystem, where the value is memory.max_usage_in_bytes
write_io_countwrite_io_count Общее число выполненных операций ввода-вывода записи с момента сброса статистики Resource Governor.The total write IOs issued since the Resource Governor statistics were reset. В Linux эта статистика извлекается из подсистемы blkio CGroups, где для строки write используется значение blkio.throttle.io_serviced.On Linux, this statistic is sourced from the CGroups blkio subsystem, where the value on the write row is blkio.throttle.io_serviced
read_io_countread_io_count Общее число выполненных операций ввода-вывода чтения с момента сброса статистики Resource Governor.The total read IOs issued since the Resource Governor statistics were reset. В Linux эта статистика извлекается из подсистемы blkio CGroups, где для строки read используется значение blkio.throttle.io_serviced.On Linux, this statistic is sourced from the CGroups blkio subsystem, where value on the read row is blkio.throttle.io_serviced
total_cpu_kernel_mstotal_cpu_kernel_ms Совокупное время ядра использования ЦП, в миллисекундах, с момента сброса статистики Resource Governor.The cumulative CPU user kernel time in milliseconds since the Resource Governor statistics were reset. В Linux эта статистика извлекается из подсистемы cpuacct CGroups, где для строки user используется значение cpuacct.stat.On Linux, this statistic is sourced from the CGroups cpuacct subsystem, where the value on the user row is cpuacct.stat
total_cpu_user_mstotal_cpu_user_ms Совокупное время использования ЦП, в миллисекундах, с момента сброса статистики Resource Governor.The cumulative CPU user time in milliseconds since the Resource Governor statistics were reset. В Linux эта статистика извлекается из подсистемы cpuacct CGroups, где для строки system используется значение cpuacct.stat.On Linux, this statistic is sourced from the CGroups cpuacct subsystem, where the value on the system row value is cpuacct.stat
active_processes_countactive_processes_count Количество внешних процессов, выполняемых в момент запроса.The number of external processes running at the moment of the request. В Linux эта статистика извлекается из подсистемы pids CGroups, где используется значение pids.current.On Linux, this statistic is sourced from the GGroups pids subsystem, where the value is pids.current

Следующие шагиNext steps

Разработчики на языке R могут ознакомиться с простыми примерами, а также узнать, как код R работает с SQL Server.R developers can get started with some simple examples, and learn the basics of how R works with SQL Server. Дополнительные сведения см. в следующих статьях.For your next step, see the following links:

Разработчики на языке Python могут узнать, как использовать Python с SQL Server, изучив следующие руководства.Python developers can learn how to use Python with SQL Server by following these tutorials:

Примеры машинного обучения, основанные на реальных сценариях, см. в разделе руководствах по машинному обучению.To view examples of machine learning that are based on real-world scenarios, see Machine learning tutorials.