什么是 Python 和 R 的 SQL Server 机器学习服务?

适用于: SQL Server 2017 (14.x) 及更高版本 Azure SQL 托管实例

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

注意

机器学习服务也在 Azure SQL 托管实例中提供。 有关其他 SQL 平台上的机器学习,请参阅 SQL 机器学习文档

注意

机器学习服务也在 Azure SQL 托管实例中提供。 有关其他 SQL 平台上的机器学习,请参阅 SQL 机器学习文档

要在 SQL Server 中执行 Java,请参阅 Java 语言扩展文档

要在 SQL Server 中执行 C#,请参阅 C# 语言扩展文档

在 SQL Server 中执行 Python 和 R 脚本

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

你可以通过存储过程 sp_execute_external_script 在 SQL Server 实例上执行 Python 和 R 脚本。

Python 和 R 的基本分发包含在机器学习服务中。 除了 Microsoft 包之外,还可以安装和使用开源包和框架,例如 PyTorch、TensorFlow 和 scikit-learn。

机器学习服务使用扩展性框架在 SQL Server 中运行 Python 和 R 脚本。 详细了解工作原理:

机器学习服务入门

  1. 在 Windows 上在 Linux 上安装 SQL Server 机器学习服务。 还可以使用大数据群集上的机器学习服务Azure SQL 托管实例上的机器学习服务

  2. 配置开发工具。 可以参阅在 Azure Data Studio 笔记本中运行 Python 和 R 脚本。 还可以在 Azure Data Studio 中运行 T-SQL。

  3. 编写你的第一个 Python 或 R 脚本。

Python 和 R 版本

下面列出了机器学习服务中包含的 Python 和 R 版本。

SQL Server 版本 累计更新 Python 运行时版本 R 运行时版本
SQL Server 2022* RTM 及更高版本 3.10.2 4.2.0
SQL Server 2019 RTM 及更高版本 3.7.1 3.5.2
SQL Server 2017 CU22 及更高版本 3.5.2 和 3.7.2 3.3.3 和 3.5.2
SQL Server 2017 RTM - CU21 3.5.2 3.3.3
SQL Server 2016 请参阅 R 版本

* 有关 R 和 Python 的支持版本以及 RevoScaleR 和 revoscalepy 包,请参阅在 Windows 上安装 SQL Server 2022 机器学习服务(Python 和 R)在 Linux 上安装 SQL Server 机器学习服务(Python 和 R)

Python 和 R 包

除了 Microsoft 的企业包外,还可以使用开源包和框架。 大多数常见的开源 Python 和 R 包都已预装在机器学习服务中。

注意

从 SQL Server 2022 (16.x) 起,R、Python 和 Java 的运行时不再随 SQL 安装程序一起安装。 请改为安装所需的 R 和/或 Python 自定义运行时和包。 有关详细信息,请参阅在 Windows 上安装 SQL Server 2022 机器学习服务在 Linux 上安装 SQL Server 机器学习服务(Python 和 R)

安装还包括 Microsoft 提供的以下 Python 和 R 包:

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

Microsoft R Open (MRO) 是 Microsoft 的 R 增强发行版。

有关与机器学习服务一并安装的包以及如何安装其他包的详细信息,请参阅:

后续步骤