Руководство по разработке SQL для специалистов по обработке и анализу данных R
Область применения: SQL Server 2016 (13.x) и более поздних версий
В этом учебнике для специалистов по обработке и анализу данных рассказывается, как создать комплексное решение для прогнозного моделирования на основе поддержки функций R в SQL Server 2016 и SQL Server 2017. В этом учебнике используется база данных NYCTaxi_sample на SQL Server.
Вы используете сочетание кода R, данных SQL Server и пользовательских функций SQL для создания модели классификации, которая указывает на вероятность того, что водитель может получить совет по определенной поездке на такси. Вы также развертываете модель R в SQL Server и используете серверные данные для создания показателей на основе модели.
Этот пример можно адаптировать для решения других реальных проблем, таких как прогнозирование отклика клиентов на кампании по сбыту или прогнозирование выручки или посещаемости на мероприятии. Так как модель можно вызывать из хранимой процедуры, ее можно легко внедрить в приложение.
Так как пошаговое руководство предназначено для внедрения разработчиков R в службы R (в базе данных), R используется везде, где это возможно. Однако, это не означает, что он является лучшим средством для выполнения каждой задачи. Во многих случаях SQL Server может обеспечить более высокую производительность, особенно для таких задач, как агрегирование данных и проектирование функций. Такие задачи могут особенно воспользоваться новыми функциями в SQL Server, такими как оптимизированные для памяти индексы columnstore. Кроме того, мы попытаемся указать возможные пути оптимизации.
Необходимые компоненты
Службы машинного обучения SQL Server с интеграцией языка R или Службы SQL Server 2016 R
Разрешения базы данных, предоставленные пользователю базы данных, сопоставленным с именем входа SQL Server
Интегрированная среда разработки R, например RStudio или средство RGUI, входящее в состав R
Мы рекомендуем выполнять это пошаговое руководство на клиентской рабочей станции. Вы должны быть в состоянии подключиться к компьютеру SQL Server с включенным языком R и SQL Server. Инструкции по настройке рабочей станции см. в разделе Настройка клиента обработки и анализа данных для разработки на R.
Кроме того, вы можете запустить пошаговое руководство на компьютере с sql Server и средой разработки R, но мы не рекомендуем использовать эту конфигурацию для рабочей среды. Если необходимо разместить клиент и сервер на одном компьютере, установите второй набор библиотек Microsoft R, чтобы отправлять сценарий R из "удаленного" клиента. Не используйте библиотеки R, установленные в программных файлах экземпляра SQL Server. В частности, если используется один компьютер, то для поддержки операций клиента и сервера необходимо иметь библиотеку RevoScaleR в обоих расположениях.
- C:\Program Files\Microsoft\R Client\R_SERVER\library\RevoScaleR
- C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\library\RevoScaleR
Дополнительные пакеты R
В этом пошаговом руководстве требуется несколько библиотек R, которые по умолчанию не устанавливаются в рамках служб R (в базе данных). Необходимо установить пакеты как на клиенте, где вы разрабатываете решение, так и на компьютере SQL Server, где развертывается решение.
На клиентской рабочей станции
В среде R скопируйте следующие строки и выполните код в окне консоли (RGUI или в интегрированной среде разработки). Необходимые пакеты также будут установлены. Всего будет установлено около 32 пакетов. Для выполнения этого этапа необходимо подключение к Интернету.
# Install required R libraries, if they are not already installed.
if (!('ggmap' %in% rownames(installed.packages()))){install.packages('ggmap')}
if (!('mapproj' %in% rownames(installed.packages()))){install.packages('mapproj')}
if (!('ROCR' %in% rownames(installed.packages()))){install.packages('ROCR')}
if (!('RODBC' %in% rownames(installed.packages()))){install.packages('RODBC')}
На сервере
Существует несколько вариантов установки пакетов на SQL Server. Например, SQL Server предоставляет функцию Управление пакетами R, которая позволяет администраторам баз данных создавать репозиторий пакетов и назначать пользователю права на установку собственных пакетов. Однако если вы являетесь администратором на компьютере, то вы можете установить новые пакеты с помощью R при условии, что установка выполняется в нужную библиотеку.
Примечание.
На сервере не нужно устанавливать в пользовательскую библиотеку, даже если появляется соответствующий запрос. При установке в пользовательскую библиотеку экземпляр SQL Server не сможет найти и запустить пакеты. Дополнительные сведения см. в статье Установка новых пакетов R в SQL Server.
На компьютере SQL Server откройте RGui.exe от имени администратора. Если вы установили службы R SQL Server с настройками по умолчанию, программу Rgui.exe можно найти в папке C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\bin\x64.
В командной строке R выполните следующие команды R:
install.packages("ggmap", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
install.packages("mapproj", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
install.packages("ROCR", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
install.packages("RODBC", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
В этом примере используется функция R grep для поиска вектора доступных путей, которая находит путь, содержащий "Program Files". Дополнительные сведения см. в статье RDocumentation для базового пакета.
Если вы считаете, что пакеты уже установлены, проверьте список установленных пакетов, выполнив команду installed.packages()
.