Узнайте, как настроить и запустить скрипты 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
или другие подобные методы… Подробнее об этом скоро!