Узнайте, как настроить и запустить скрипты Python (или R) в коде SQL.

Шаг 1. Включите службы машинного обучения в SQL Server

Обратите внимание, что для этого шага требуются права администратора для запуска/повторного запуска конфигурации установки.

1.1 Скачать SQL Server (ссылка). Или, если у вас уже установлен SQL Server, приобретите установочный носитель SQL Server и из корневой папки откройте Setup.exe . Это запустит мастер настройки.

1.2 Выберите вкладку Установка слева, а затем Новая автономная установка SQL Server или добавление функций к существующей установке.

1.3 На вкладке Выбор функций (также слева) включите:

  • Службы ядра базы данных
  • Службы машинного обучения и языковые расширения
  • Python (и/или R)

Продолжите процесс установки и завершите установку.

Шаг 2: включите выполнение внешнего скрипта

Я лично запускал этот раздел с помощью SQL Server Management Studio (SSMS). Другие варианты включают Azure Data Studio и Visual Studio.

Выполните следующую команду, чтобы разрешить выполнение сценариев Python и R из кода SQL:

EXEC sp_configure ‘external scripts enabled’, 1
RECONFIGURE WITH OVERRIDE

Если вы снова запустите sp_configure, вы увидите, что external scripts enabled с config_value равно 1, однако run_value по-прежнему равно нулю.

На этом этапе, если вы попытаетесь интегрировать скрипт python/R с помощью хранимой процедуры sp_execute_external_script, он вернет ошибку «Нерегламентированные обновления системных каталогов не разрешены». Чтобы предотвратить это, перезапустите ядро ​​базы данных.

Шаг 3: проверьте выполнение внешнего скрипта

Под внешним скриптом подразумевается запуск кода с другого языка, отличного от SQL.

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

EXEC sp_execute_external_script
@language       = N'Python',
@script         = N'print("Hello World!")';

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

Ряд библиотек Python уже предустановлен в зависимости от конкретной версии Anaconda, указанной в программе установки SQL Server. Чтобы найти папку, в которой они установлены, выполните следующий запрос:

EXECUTE sp_execute_external_script
@language =N'Python',
@script=N'import sys; print("\n".join(sys.path))'

Дополнительные пакеты можно загрузить по мере необходимости, используя sqlmultils, а не pip или другие подобные методы… Подробнее об этом скоро!