Что такое службы машинного обучения SQL Server с Python и R?

Область применения: SQL Server 2017 (14.x) и более поздних версий Управляемый экземпляр SQL Azure

Службы машинного обучения — это компонент SQL Server, который дает возможность выполнять скрипты Python и R с реляционными данными. Вы можете использовать платформы и пакеты с открытым кодом и пакеты Microsoft Python и R для прогнозной аналитики и машинного обучения. Скрипты выполняются в базе данных без перемещения данных за пределы SQL Server или по сети. В этой статье объясняются основы Служб машинного обучения SQL Server и описывается, как приступить к работе с ними.

Примечание

Службы машинного обучения также доступны в Управляемом экземпляре SQL Azure. Сведения о применении машинного обучения на других платформах SQL доступны в документации по машинному обучению SQL.

Примечание

Службы машинного обучения также доступны в Управляемом экземпляре SQL Azure. Сведения о применении машинного обучения на других платформах SQL доступны в документации по машинному обучению SQL.

Сведения о запуске Java в SQL Server см. в документации по расширению языка Java.

Сведения о выполнении C# в SQL Server см. в документации по расширению языка C#.

Выполнение сценариев Python и R в среде SQL Server

Службы машинного обучения SQL Server можно использовать для запуска скриптов R или Python в базе данных. С их помощью можно подготавливать и очищать данные, выполнять проектирование признаков, а также обучать, оценивать и развертывать модели машинного обучения в базе данных. Этот компонент выполняет скрипты там, где хранятся данные, и устраняет необходимость перемещения данных по сети на другой сервер.

Вы выполните хранимую процедуру sp_execute_external_script для запуска сценариев Python и R в экземпляре SQL Server.

Базовые распределения Python и R включены в Службы машинного обучения. Вы можете установить и использовать платформы и пакеты с открытым кодом, такие как PyTorch, TensorFlow и scikit-learn, в дополнение к пакетам Microsoft.

Службы машинного обучения используют платформу расширяемости для выполнения скриптов Python и R на SQL Server. Дополнительные сведения о том, как это работает:

Приступая к работе со Службами машинного обучения

  1. Установите Службы машинного обучения SQL Server в Windows или Linux. Вы также можете использовать службы машинного обучения в кластерах больших данных и службы машинного обучения в управляемом экземпляре SQL Azure.

  2. Настройте средства разработки. Вы можете выполнять сценарии Python и R в записных книжках Azure Data Studio. Можно также выполнять T-SQL в Azure Data Studio.

  3. Создайте свой первый сценарий Python или R.

Версии Python и R

Ниже перечислены версии Python и R, включенные в Службы машинного обучения.

Версия SQL Server Накопительное обновление Версия среды выполнения Python Версии среды выполнения R
SQL Server 2022* RTM и более поздние версии 3.10.2 4.2.0
SQL Server 2019 RTM и более поздние версии 3.7.1 3.5.2
SQL Server 2017 CU22 и более поздние версии 3.5.2 и 3.7.2 3.3.3 и 3.5.2
SQL Server 2017 RTM — CU21 3.5.2 3.3.3
SQL Server 2016 См. версию R

* Поддерживаемые версии R и Python, а также пакеты RevoScaleR и revoscalepy см. в разделах Установка Служб машинного обучения SQL Server 2022 (Python и R) в Windows и Установка Служб машинного обучения SQL Server (Python, R) в Linux.

Пакеты Python и R

В дополнение к корпоративным пакетам Майкрософт можно использовать платформы и пакеты с открытым кодом. Наиболее распространенные пакеты Python и R с открытым кодом предварительно установлены в Службах машинного обучения.

Примечание

Начиная с SQL Server 2022 (16.x) среды выполнения для R, Python и Java больше не устанавливаются вместе с программой установки SQL. Желаемые пользовательские среды и пакеты R и (или) Python необходимо устанавливать самостоятельно. Дополнительные сведения см. в статье Установка служб машинного обучения SQL Server 2022 в Windows или Установка служб машинного обучения SQL Server (Python и R) в Linux.

Также в установку включены следующие пакеты Python и R от Майкрософт:

Язык Пакет Описание
Python revoscalepy Основной пакет для масштабируемого Python. Преобразования и обработка данных, статистическая сводка, визуализация и многие виды моделирования. Кроме того, функции в этом пакете автоматически распределяют рабочие нагрузки между доступными ядрами для параллельной обработки.
Python microsoftml Область применения: только SQL Server 2016, SQL Server 2017 и SQL Server 2019. Добавляет алгоритмы машинного обучения для создания пользовательских моделей для анализа текста, анализа изображений и анализа тональности.
R RevoScaleR Основной пакет для масштабируемого R. Преобразования и обработка данных, статистическая сводка, визуализация и многие виды моделирования. Кроме того, функции в этом пакете автоматически распределяют рабочие нагрузки между доступными ядрами для параллельной обработки.
R MicrosoftML (R) Область применения: только SQL Server 2016, SQL Server 2017 и SQL Server 2019. Добавляет алгоритмы машинного обучения для создания пользовательских моделей для анализа текста, анализа изображений и анализа тональности.
R olapR Область применения: только SQL Server 2016, SQL Server 2017 и SQL Server 2019. Функции R, используемые для запросов многомерных выражений к кубу OLAP SQL Server Analysis Services.
R sqlrutils Область применения: только SQL Server 2016, SQL Server 2017 и SQL Server 2019. Механизм для использования скриптов R в хранимой процедуре T-SQL, регистрации этой хранимой процедуры в базе данных и ее запуска из среды разработки R.
R Microsoft R Open Область применения: только SQL Server 2016, SQL Server 2017 и SQL Server 2019. Microsoft R Open (MRO) — это улучшенная версия R от Майкрософт. Это полная платформа с открытым кодом для статистического анализа и обработки и анализа данных. Она основана на R, полностью совместима с ним и включает дополнительные возможности для повышения производительности и воспроизводимости.

Дополнительные сведения о том, какие пакеты устанавливаются со Службами машинного обучения и как устанавливать другие пакеты, см. в следующих статьях:

Дальнейшие действия