导出到 Azure SQL 数据库

重要

对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习

从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。

ML 工作室(经典)文档即将停用,将来可能不会更新。

本文介绍如何使用 机器学习 Studio Azure SQL 数据库 经典 (中的"导出数据"模块中的) 。 若要将数据从机器学习试验导出到机器学习实验或Azure SQL 数据库Azure SQL Data Warehouse。

注意

适用于:机器学习 Studio (经典) 应用

可在 Azure 机器学习设计器中获取类似的拖放模块。

导出到SQL数据库在许多机器学习方案中非常有用:例如,你可能想要存储中间结果、保存分数或保留工程特征表。 尽管将数据存储在 Azure SQL 数据库 或 Azure SQL Data Warehouse比在 Azure 中使用表或 blob 的成本更高,但数据库不会收取SQL费用。 此外,数据库存储非常适合用于快速写入少量常用信息、在试验之间共享数据,或报告结果、预测和指标。

另一方面,可以存储在数据库中的数据量可能有限制,具体取决于订阅类型。 还应考虑使用与机器学习工作区位于同一区域的数据库和帐户。

若要导出数据,请提供存储数据的实例名称和数据库名称,然后使用具有写入权限的帐户运行模块。 还必须指定表名称,将试验中的列映射到表中的列。

如何将数据导出到Azure SQL 数据库

  1. 将" 导出数据" 模块添加到工作室中的试验 (经典) 。 可以在"数据输入和输出 "类别中找到此 模块。

  2. 连接将数据导出到生成要导出的数据的模块。

  3. 对于"数据目标",请选择"Azure SQL 数据库"。 此选项还Azure SQL Data Warehouse支持。

  4. 指示服务器和数据库的名称,Azure SQL 数据库或Azure SQL Data Warehouse。

    数据库服务器名称:键入 Azure 生成的服务器名称。 它的格式通常为:<generated_identifier>.database.windows.net

    数据库名称:键入刚刚指定的服务器上现有数据库的名称。 导出 数据 模块无法创建数据库。

    服务器用户帐户名:键入对数据库具有访问权限的帐户的用户名。

    服务器用户帐户密码:提供指定用户帐户的密码。

  5. 指定要导出的列,如果要重命名列,请指定 。

    要保存的列的逗号分隔列表:键入要写入数据库的试验中的列的名称。

    数据表名称:键入要存储数据的表的名称。

    对于Azure SQL 数据库,如果该表不存在,则创建一个新表。

    对于Azure SQL Data Warehouse,该表必须已存在且具有正确的架构,因此请务必提前创建它。

    以逗号分隔的可数据表列列表:键入希望列在目标表中显示的名称。

    对于Azure SQL 数据库,可以更改列名称,但必须在要保存的列的逗号分隔列表中按列出要导出的列的顺序保留列

    对于Azure SQL Data Warehouse,列名称必须与目标表架构中已有的名称匹配。

  6. 每个操作写入SQL Azure行数:此选项指定每批中应写入目标表的行数。

    默认情况下,该值设置为 50,这是默认批处理Azure SQL 数据库。 但是,如果要写入大量行,应增加此值。

    对于Azure SQL Data Warehouse,建议将此值设置为 1。 如果使用更大的批大小,则发送到该字符串的命令字符串Azure SQL Data Warehouse可能会超过允许的字符串长度,从而导致错误。

  7. 使用缓存的结果:选择此选项可避免每次运行试验时写入新结果。 如果没有对模块参数进行任何其他更改,则试验仅在首次运行模块时写入数据。 但是,如果在"导出数据"中更改了任何参数,而更改了结果 ,则始终 执行新的写入。

  8. 运行试验。

示例

有关如何使用导出数据 模块的示例 ,请参阅以下 Azure AI 库

  • 零售预测步骤 1/6 - 数据预处理:零售预测模板演示了基于 Azure SQLDB 中存储的数据的机器学习任务。 它演示了一些有用的技术,例如,使用 Azure SQL 数据库在不同帐户的试验之间传递数据集、保存和合并预测,以及如何创建一个Azure SQL用于机器学习的 Azure SQL 数据库。

  • Azure VM 上使用 SQL Server 生成和部署机器学习模型:本文逐步介绍如何使用 Azure VM 中托管的 SQL Server 数据库作为存储训练数据和预测的源。 它还说明了如何将关系数据库用于特征工程和特征选择。

  • 如何将 Azure ML与 Azure SQL Data Warehouse:演示如何使用来自 Azure SQL Data Warehouse 的数据来生成聚类分析模型。

  • 将机器学习与SQL Data Warehouse:演示如何使用数据中的数据创建回归模型来预测Azure SQL Data Warehouse。

技术说明

本部分包含实现详情、使用技巧和常见问题解答。

常见问题

在不同的地理区域使用数据库

如果Azure SQL 数据库或SQL Data Warehouse与机器学习帐户位于不同的区域,则写入速度可能会变慢。

此外,如果计算节点与存储帐户位于不同的区域,则订阅上会收取数据入口和出口费用。

输出数据中的某些字符为何未正确显示

机器学习 UTF-8 编码。 如果数据库中的字符串列使用不同的编码,则可能无法正确保存字符。

此外,机器学习无法输出数据类型,如 money

模块参数

名称 范围 类型 默认 说明
数据源 列表 数据源或接收器 Azure Blob 存储 数据源可以是 HTTP、FTP、匿名 HTTPS 或 FTPS、Azure BLOB 存储中的文件、Azure 表、Azure SQL 数据库 或 Azure SQL Data Warehouse、Hive 表或 OData 终结点。
数据库服务器名称 any String
数据库名称 any String
服务器用户帐户名 any String
服务器用户帐户密码
要保存的列的逗号分隔列表
数据表名称 any String
数据表列的逗号分隔列表 String String String
每个 SQL Azure 操作写入的行数 String Integer 50 String
使用缓存的结果 TRUE/FALSE 布尔 FALSE 模块仅在不存在有效缓存时执行;否则,使用先前执行中的缓存数据。

例外

异常 描述
错误 0027 如果两个对象必须具有相同的大小,但其大小却不相同,则会发生异常。
错误 0003 如果一个或多个输入为 null 或为空,则会发生异常。
错误 0029 如果传递的 URI 无效,则会发生异常。
错误 0030 如果无法下载文件,则会发生异常。
错误 0002 如果一个或多个参数无法分析或者无法从指定的类型转换成目标方法所需的类型,则会发生异常。
错误 0009 如果错误地指定了 Azure 存储帐户名或容器名,则会发生异常。
错误 0048 如果无法打开文件,则会发生异常。
错误 0015 如果数据库连接失败,则会发生异常。
错误 0046 如果无法在指定的路径中创建目录,则会发生异常。
错误 0049 如果无法分析文件,则会发生异常。

有关特定于工作室和经典 (模块) 的列表,请参阅机器学习代码

有关 API 异常的列表,请参阅机器学习 REST API代码

另请参阅

导入数据
导出数据
导出到 Azure Blob 存储
导出到配置单元查询
导出到 Azure 表