获取 R 包信息
适用于: SQL Server 2016 (13.x) 及更高版本 Azure SQL 托管实例
本文介绍如何获取在 SQL Server 机器学习服务和 SQL Server 2019 大数据群集上安装的 R 包的相关信息。 示例 R 脚本显示如何列出包信息,如安装路径和版本。
本文介绍如何获取在 SQL Server 机器学习服务上安装的 R 包的相关信息。 示例 R 脚本显示如何列出包信息,如安装路径和版本。
本文介绍如何获取在 Azure SQL 托管实例机器学习服务上安装的 R 包的相关信息。 示例 R 脚本显示如何列出包信息,如安装路径和版本。
注意
功能和安装选项因 SQL Server 版本而异。 使用版本选择器下拉列表选择适当版本的 SQL Server。
默认 R 库位置
使用 SQL Server 安装机器学习时,会在实例级别为安装的每种语言创建一个包库。 在 Windows 上,实例库是通过 SQL Server 注册的安全文件夹。
在 SQL Server 上的数据库内运行的所有脚本都必须加载实例库中的函数。 SQL Server 无法访问安装到其他库的包。 这也适用于远程客户端:在服务器计算上下文中运行的任何 R 脚本只能使用实例库中安装的包。 若要保护服务器资产,只能由计算机管理员修改默认实例库。
R 的二进制文件的默认路径为:
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\library
这里假设默认 SQL 实例为 MSSQLSERVER。 如果将 SQL Server 安装作为用户定义的命名实例,则改用给定名称。
R 的二进制文件的默认路径为:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\library
这里假设默认 SQL 实例为 MSSQLSERVER。 如果将 SQL Server 安装作为用户定义的命名实例,则改用给定名称。
R 的二进制文件的默认路径为:
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\R_SERVICES\library
这里假设默认 SQL 实例为 MSSQLSERVER。 如果将 SQL Server 安装作为用户定义的命名实例,则改用给定名称。
运行以下语句来验证当前实例的默认 R 包库:
EXECUTE sp_execute_external_script
@language = N'R',
@script = N'OutputDataSet <- data.frame(.libPaths());'
WITH RESULT SETS (([DefaultLibraryName] VARCHAR(MAX) NOT NULL));
GO
默认 Microsoft R 包
以下 Microsoft R 包随 SQL Server R Services 一起安装。
包 | 版本 | 说明 |
---|---|---|
RevoScaleR | 8.0.3 | 用于远程计算上下文、流式处理、并行执行进行数据导入和转换的 rx 函数、建模、可视化和分析。 |
sqlrutils | 1.0.0 | 用于在存储过程中包含 R 脚本。 |
默认 Microsoft R 包
在安装过程中选择了 R 功能时,将随 SQL Server 机器学习服务一起安装以下 Microsoft R 包。
包 | 版本 | 说明 |
---|---|---|
RevoScaleR | 9.2 | 用于远程计算上下文、流式处理、并行执行进行数据导入和转换的 rx 函数、建模、可视化和分析。 |
sqlrutils | 1.0.0 | 用于在存储过程中包含 R 脚本。 |
MicrosoftML | 1.4.0 | 在 R 中添加机器学习算法。 |
olapR | 1.0.0 | 用于在 R 中编写 MDX 语句。 |
默认 Microsoft R 包
在安装过程中选择了 R 功能时,将随 SQL Server 机器学习服务一起安装以下 Microsoft R 包。
包 | 版本 | 说明 |
---|---|---|
RevoScaleR | 9.4.7 | 用于远程计算上下文、流式处理、并行执行进行数据导入和转换的 rx 函数、建模、可视化和分析。 |
sqlrutils | 1.0.0 | 用于在存储过程中包含 R 脚本。 |
MicrosoftML | 9.4.7 | 在 R 中添加机器学习算法。 |
olapR | 1.0.0 | 用于在 R 中编写 MDX 语句。 |
组件升级
默认情况下,会通过服务包和累积更新刷新 R 包。 只能通过产品升级实现核心 R 组件的其他包和完整版本升级。
此外,还可以通过组件升级将 MicrosoftML 和 olapR 包添加到 SQL Server 实例中。
默认开放源代码 R 包
R 支持包括开源 R,因此可调用基本 R 函数并安装其他开源和第三方包。 R 语言支持多种核心功能,例如 base、stats 和 utils 等 。 R 的基本安装还包括许多示例数据集和标准 R 工具,如 RGui(轻量级交互式编辑器)和 RTerm(R 命令提示符) 。
若要了解每个 SQL Server 版本包含哪个 R 版本,请参阅 Python 和 R 版本。
重要
请勿手动使用 Web 上的更新版本覆盖 SQL Server 安装程序安装的 R 版本。 Microsoft R 包基于 R 的特定版本。修改安装可能会使其不稳定。
列出所有已安装的 R 包
以下示例在 Transact-SQL 存储过程中使用 R 函数 installed.packages()
来显示已安装在当前 SQL 实例的 R_SERVICES 库中的 R 包的列表。 该脚本在 DESCRIPTION 文件中返回包名称和版本字段。
EXECUTE sp_execute_external_script
@language=N'R',
@script = N'str(OutputDataSet);
packagematrix <- installed.packages();
Name <- packagematrix[,1];
Version <- packagematrix[,3];
OutputDataSet <- data.frame(Name, Version);',
@input_data_1 = N'
'
WITH RESULT SETS ((PackageName nvarchar(250), PackageVersion nvarchar(max) ))
若要详细了解 R 包 DESCRIPTION 字段的可选字段和默认字段,请参阅 https://cran.r-project.org。
查找单个 R 包
如果已安装 R 包,并且想要确保它可用于特定的 SQL Server 实例,则可以执行存储过程以加载包并返回消息。
例如,以下语句查找并加载 glue 包(如果可用)。 如果找不到或无法加载该包,则会收到错误。
EXECUTE sp_execute_external_script
@language =N'R',
@script=N'
require("glue")
'
要查看有关包的详细信息,请查看 packageDescription
。
以下语句返回 MicrosoftML 包的信息。
EXECUTE sp_execute_external_script
@language = N'R',
@script = N'
print(packageDescription("MicrosoftML"))
'