Tutorial: Use RevoScaleR R functions with SQL Server data(教程:将 RevoScaleR R 函数与 SQL Server 数据配合使用)

适用于: SQL Server 2016 (13.x) 及更高版本

此多部分教程系列介绍了一系列 RevoScaleR 函数,可用于与数据科学相关的任务。 在此过程中,你将了解如何创建远程计算上下文、在本地和远程计算上下文之间移动数据以及在远程 SQL Server 上执行 R 代码。 还将了解如何在本地和远程服务器上分析和绘制数据,以及如何创建和部署模型。

RevoScaleR 是 Microsoft R 包,为数据科学和机器学习工作负荷提供分布式的并行处理。 对于 SQL Server 中的 R 开发,RevoScaleR 是核心内置包之一,具有用于创建数据源对象、设置计算上下文、管理包的函数,最重要的是端对端地处理数据(从导入到可视化和分析)。 SQL Server 中的机器学习算法依赖于 RevoScaleR 数据源。 考虑到 RevoScaleR 的重要性,了解调用其函数的时机和方法是一项基本技能

先决条件

若要在本地和远程计算上下文之间来回切换,则需要两个系统。 本地上下文通常是一个开发工作站,具有足够强大的数据科学工作负载。 在这种情况下,远程上下文是启用 R 功能 SQL Server。

切换计算上下文的前提是在本地和远程系统上都具有相同版本的 RevoScaleR。 在本地工作站上,可以通过安装 Microsoft R Client 获取 RevoScaleR 包和相关的提供程序

如果需要将客户端和服务器放在同一台计算机上,请确保安装另一组 Microsoft R 库,以便从“远程”客户端发送 R 脚本。 请勿使用安装在 SQL Server 实例的程序文件中的 R 库。 具体而言,如果使用一台计算机,则需要在这两个位置都使用 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 开发人员通常使用 IDE 来编写和调试 R 代码。 下面是一些建议:

  • 针对 Visual Studio 的 R 工具 (RTVS) 是一款免费插件,为 Microsoft R 提供 Intellisense、调试和支持。可以将其与 SQL Server 机器学习服务一起使用。 若要下载,请参阅 R Tools for Visual Studio

  • RStudio 是广受欢迎的 R 开发环境之一。 有关详细信息,请参阅 https://www.rstudio.com/products/RStudio/

  • 在 SQL Server 或 R Client 中安装 R 时,也默认安装基础 R 工具(R.exe、RTerm.exe、RScripts.exe)。 如果不想安装 IDE,可以使用内置 R 工具来执行本教程中的代码。

在本地计算机和远程计算机上都需要回调 RevoScaleR。 若使用 RStudio 的通用安装或缺少 Microsoft R 库的其他环境,则无法完成本教程。 有关详细信息,请参阅 设置数据科学客户端

任务摘要

  • 数据最初是从 CSV 文件或 XDF 文件中获取的。 使用 RevoScaleR 包中的函数将数据导入 SQL Server
  • 使用 SQL Server 计算上下文执行模型定型和评分操作。
  • 使用 RevoScaleR 函数创建新的 SQL Server 表以保存评分结果
  • 在服务器上和本地计算上下文中创建图表。
  • 基于 SQL Server 数据库中的数据定型模型,在 SQL Server 实例中运行 R。
  • 提取数据的子集,并在本地工作站上将其保存为 XDF 文件,以便在分析中重复使用。
  • 开启到 SQL Server 数据库的 ODBC 连接,获取用于评分的新数据。 评分是在本地工作站上完成的。
  • 创建自定义 R 函数并在服务器计算上下文中运行,以执行模拟。

后续步骤