Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: SQL Server 2017 (14.x) и более поздних версий
В этом учебном материале для специалистов по данным узнайте, как создать сквозное решение для предиктивного моделирования на основе поддержки функций R в SQL Server 2017. Этот туториал использует демонстрационную базу данных NYC Taxi на SQL Server.
Вы используете сочетание кода R, данных SQL Server и пользовательских функций SQL для создания модели классификации, которая указывает на вероятность того, что водитель может получить совет по определенной поездке на такси. Вы также развертываете модель R в SQL Server и используете серверные данные для создания показателей на основе модели.
Этот пример можно расширить на самые разные реальные проблемы, например, предсказать реакцию клиентов на продажные кампании или прогнозировать расходы или посещаемость мероприятий. Поскольку вы можете вызвать модель из сохранённой процедуры, её легко встроить в приложение.
Поскольку это пошаговое руководство предназначено для знакомства разработчиков R с R Services (In-Database), в нем по возможности используется R. Однако это не значит, что R обязательно лучший инструмент для каждой задачи. Во многих случаях SQL Server может обеспечить более высокую производительность, особенно для таких задач, как агрегирование данных и проектирование функций. Такие задачи могут особенно выиграть от новых возможностей SQL Server, таких как оптимизированные для памяти индексы columnstore. Кроме того, мы попытаемся указать возможные пути оптимизации.
Предварительные требования
Разрешения базы данных, предоставленные пользователю базы данных, сопоставленному с учетной записью SQL Server
Интегрированная среда разработки R, например RStudio или средство RGUI, входящее в состав R
Мы рекомендуем выполнять это пошаговое руководство на клиентской рабочей станции. У вас должна быть возможность подключиться по той же сети к компьютеру с SQL Server, где включен язык R. Инструкции по конфигурации рабочей станции см. Настройте клиент науки о данных для R-разработки на SQL Server.
Кроме того, вы можете запустить пошаговое руководство на компьютере с 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 Services (In-Database). Необходимо установить пакеты как на клиенте, где вы разрабатываете решение, так и на компьютере 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 с помощью sqlmlutils, которая позволяет администраторам баз данных создавать репозиторий пакетов и предоставлять пользователям права на установку собственных пакетов. Однако, если вы администратор на компьютере, вы можете установить новые пакеты с помощью R, если установите их в правильную библиотеку.
Примечание.
На сервере не устанавливайте в пользовательскую библиотеку, даже если появится такой запрос. Если вы установите пакеты в библиотеку пользователя, экземпляр SQL Server не сможет найти или запустить их. Дополнительные сведения см. в разделе "Установка пакетов R с помощью sqlmlutils".
На компьютере SQL Server откройте RGui.exe от имени администратора. Если установить SQL Server R Services с настройками по умолчанию, можно найти 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().