什么是 SQL Server 2016 R Services?

适用于: 仅限 SQL Server 2016 (13.x)

R Services 是 SQL Server 2016 中的一项功能,借助此功能可以使用关系数据运行 R 脚本。 可以使用开源包和框架,以及 Microsoft R 包进行预测分析和机器学习。 脚本在数据库中执行,而不将数据移动到 SQL Server 外部或是在网络上移动。 本文介绍 SQL Server R Services 的基础知识。

注意

在 SQL Server 2017 及更高版本中,R Services 被重命名为机器学习服务,并支持 Python 和 R。

什么是 R Services?

使用 SQL Server R Services,可以在数据库中执行 R 脚本。 可以使用它来准备和清理数据、执行特征工程以及在数据库中定型、评估和部署机器学习模型。 此功能在数据所在的位置运行脚本,无需通过网络将数据传输到其他服务器。

R Services 中包含 R 的基础分发。 除了 Microsoft 包RevoScaleRMicrosoftML、[olapR]../r/ref-r-olapr.md) 和 sqlrutils 之外,还可以使用开源包和框架。

R Services 使用扩展性框架在 SQL Server 中运行 R 脚本。 详细了解工作原理:

使用 R Services 可以执行哪些操作?

可以使用 R Services 在 SQL Server 中生成和定型机器学习和深度学习模型。 还可以将现有模型部署到 R Services,并使用关系数据进行预测。

可以使用 SQL Server R Services 进行多种类型的预测,下面是一些示例:

预测类型 示例
分类/类别 自动将客户反馈分为积极和消极两类
回归/预测连续值 根据面积和地段预测房价
异常检测 检测欺诈性的银行交易
建议 根据网购者以前的购买情况,推荐他们可能想购买的产品

如何执行 R 脚本

有两种方法可以在 R Services 中执行 R 脚本:

R 版本

下面列出了 SQL Server 2016 R 服务中包含的 R 运行时版本。

SQL Server 版本 默认 R 运行时版本
SQL Server 2016 RTM - SP2 CU13 3.2.2
SQL Server 2016 SP2 CU14 及更高版本 3.2.2 和 3.5.2

SQL Server 2016 Service Pack (SP) 2 及更高版本的累积更新 (CU) 14 包括更新的 R 运行时。 有关详细信息,请参阅更改默认语言运行时版本

对于 R 的其他版本或者如果要运行 Python,请使用用于 SQL Server 2017 及更高版本的机器学习服务

R 包

除了 Microsoft 的企业包外,还可以使用开源包和框架。 大多数常见的开源 R 包已预先安装在 R Services 中。 还包括 Microsoft 提供的以下 R 包:

程序包 说明
RevoScaleR 用于可缩放 R 的主包。数据转换和操作、统计摘要、可视化和多种形式的建模。 此外,此包中的函数会自动在可用内核之间分配工作负载以进行并行处理。
MicrosoftML (R) 添加机器学习算法,以便为文本分析、图像分析和情绪分析创建自定义模型。
olapR R 函数,用于针对 SQL Server Analysis Services OLAP 多维数据集进行 MDX 查询。
sqlrutils 一种在 T-SQL 存储过程中使用 R 脚本、将该存储过程注册到数据库并在 R 开发环境中运行存储过程的机制。
Microsoft R Open (已停用 Microsoft R Open (MRO) 是 Microsoft 的 R 增强发行版。

如何开始使用 R Services?

  1. 安装 SQL Server 2016 R Services

  2. 配置开发工具。 可用工具如下:

  3. 编写第一个 R 脚本

后续步骤