SQL Server 2016 представил несколько новых функций, и одна из самых интересных – это интеграция языка R. Если вы раньше не слышали о нем, R – это язык статистического анализа данных, который набрал популярность в последние годы.
С интеграцией R в SQL Server 2016 теперь вы можете запускать код R непосредственно из сеанса SQL Server. Эта интеграция позволяет SQL Server вызывать R-среду выполнения, передавать ей данные и получать результаты. Важно отметить, что SQL Server не внезапно понимает R; он просто действует как мост между SQL Server и языком R.
Установка компонентов R в SQL Server 2016 – простой процесс. Однако стоит отметить, что предустановленный образ галереи Azure для RC3 не включает службы R. Поэтому рекомендуется установить их вручную на данный момент. После установки вам нужно включить службы R с помощью команды sp_configure:
EXEC sp_configure 'external scripts enabled', 1
RECONFIGUREЗапуск кода R в SQL Server 2016 в настоящее время выполняется с использованием хранимой процедуры sp_execute_external_script. Однако важно отметить, что текущий метод выполнения кода R похож на динамический SQL, что может затруднить отладку. Вот пример выполнения кода R с использованием sp_execute_external_script:
EXEC sp_execute_external_script
@language = N'R',
@script = N'data(iris)
OutputDataSet <- head(iris)'
WITH RESULT SETS (([Sepal.Length] NUMERIC(4,2) NOT NULL, [Sepal.Width] NUMERIC(4,2) NOT NULL, [Petal.Length] NUMERIC(4,2) NOT NULL, [Petal.Width] NUMERIC(4,2) NOT NULL, [Species] VARCHAR(30)));
GOПомимо выполнения кода R, вы также можете передавать данные в скрипт R с помощью параметра @input_data_1. Однако использование @input_data_2 и @parameter1 несколько неясно, так как в документации нет доступных примеров. Для получения более подробной информации о этих параметрах вы можете обратиться к официальной документации Microsoft.
Важно отметить, что выполнение кода R в SQL Server 2016 может быть не таким быстрым, как выполнение его в специализированной среде R. Производительность может варьироваться в зависимости от аппаратного обеспечения и конфигурации вашего SQL Server. Поэтому рекомендуется рассмотреть использование R в SQL Server для сценариев, где обработка в реальном времени не является критической, таких как анализ данных и отчетность.
Хотя текущий метод выполнения кода R в SQL Server 2016 с использованием sp_execute_external_script работает, он может быть не самым интуитивным или удобным подходом. Многие разработчики и специалисты по обработке данных надеются увидеть более упрощенное и интегрированное решение в будущих версиях SQL Server, такое как возможность создания хранимых процедур с кодом R напрямую.
В заключение, интеграция языка R в SQL Server 2016 открывает новые возможности для анализа данных и статистического моделирования в среде SQL Server. Хотя текущий метод выполнения кода R имеет свои ограничения, он обеспечивает мост между SQL Server и R, позволяя использовать возможности обоих языков в ваших рабочих процессах с данными.
Кто знает, может быть, в SQL Server 2020 мы увидим еще более безупречную интеграцию R и других языков!