从 Azure 表导入
重要
对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习。
从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。
ML 工作室(经典)文档即将停用,将来可能不会更新。
本文介绍如何使用 机器学习 Studio (经典 ) 中的导入数据模块,将结构化或半结构化数据从 Azure 表导入机器学习试验。
Azure 表 服务是 Azure 中的数据管理服务,可存储大量结构化的非关系数据。 它是一个 NoSQL 数据存储,接受来自 Azure 内部和外部的经过身份验证的调用。
从 Azure 表存储导入需要选择两种帐户类型之一:可以使用 SAS URL 访问的存储帐户,或需要登录凭据的专用存储帐户。
如何从 Azure 表导入数据
使用数据导入向导
该模块新增了一个向导,可帮助你选择存储选项,从现有订阅和帐户中进行选择,并快速配置所有选项。
将 "导入数据" 模块添加到试验。 可以在"数据输入和输出 "下找到该模块。
单击 "启动导入数据向导" 并按照提示操作。
配置完成后,若要将数据实际复制到试验中,请右键单击该模块,然后选择"运行 选定项"。
如果需要编辑现有数据连接,向导将加载所有以前的配置详细信息,以便无需从头开始再次启动
在导入数据模块中手动设置属性
以下步骤介绍如何手动配置导入源。
将 "导入数据" 模块添加到试验。 可以在 机器学习 Studio (经典模块的试验项列表中的"数据输入和输出") 。
对于 "数据源",请选择" Azure 表"。
对于 "身份验证类型" , ("SAS URL ) 如果知道该信息已作为公共数据源提供,请选择"SAS URL"。 SAS URL 是可以使用 Azure 存储实用工具生成的有时限的访问 URL。
否则,请选择" 帐户"。
如果数据位于可以使用 SAS URL 访问 的公共 Blob 中 ,则不需要其他凭据,因为 URL 字符串包含下载和身份验证所需的全部信息。
在" 表 SAS URI "字段中,键入或粘贴定义帐户和公共 Blob 的完整 URI。
注意
在可通过 SAS URL 访问的页面中,只能使用 CSV、TSV 和 ARFF 格式存储数据。
如果数据位于专用 帐户中 ,则必须提供凭据,包括帐户名称和密钥。
对于 "表帐户名称",键入或粘贴包含要访问的 Blob 的帐户的名称。
例如,如果存储帐户的完整 URL 为
https://myshared.table.core.windows.net
,则键入myshared
。对于 "表帐户密钥",粘贴与存储帐户关联的访问密钥。\
如果不知道访问密钥,请参阅本文中的"查看、复制和重新生成存储访问密钥"部分:关于Azure 存储帐户。
对于 "表名称",键入要读取的特定表的名称。
选择一个选项,该选项指示"导入 数据"应扫描的 行数。 导入 数据使用扫描获取数据中的列列表,并确定列数据类型。
TopN:仅扫描从数据集顶部开始指定的行数。
默认情况下,扫描 10 行,但可以使用 TopN 的行计数选项来增加或 减少该值。
如果数据是同质的且可预测的,请选择 TopN 并输入 N 的编号。对于大型表,这可能会导致读取时间更快。
ScanAll:扫描表中的所有行。
如果已使用根据表的深度和位置变化的属性集将数据结构化,请选择“ScanAll”选项来扫描所有行。 这可确保生成的属性和元数据转换的完整性。
指示是否希望每次运行试验时刷新数据。 如果选择"使用缓存的结果 (默认) 导入数据模块将在首次运行试验时从指定源读取数据,然后缓存结果。 如果导入数据模块的参数 有任何更改, 则重新加载数据。
如果取消选择此选项,则每次运行试验时都会从源读取数据,而不管数据是否相同。
示例
有关如何使用"导出数据"模块的示例,请参阅Azure AI 库。
技术说明
本部分包含实现详情、使用技巧和常见问题解答。
常见问题
如何避免不必要地重新加载相同的数据?
如果源数据发生更改,可以通过重新运行导入数据来刷新数据集并 添加新数据。 但是,如果不希望每次运行试验时都从源重新读取,请选择"使用缓存的结果 "选项为 TRUE。 如果此选项设置为 TRUE,模块将检查试验是否以前使用同一源和相同的输入选项运行,如果找到上一次运行,则使用缓存中的数据,而不是重新加载源的数据。
能否在从源读取数据时筛选数据?
导入 数据 模块不支持在读取数据时进行筛选。 例外情况是从数据馈送中读取数据,这有时允许你指定筛选器条件作为源 URL 的一部分。
但是,可以在将数据读取到 机器学习 Studio (经典) :
- 使用自定义 R 脚本更改或筛选数据。
- 将 拆分数据 模块与相对表达式或正则表达式一起用于隔离需要的数据,然后将它保存为数据集。
注意
如果你发现加载的数据多于所需数据,可以通过读取新数据集、使用与较早的更大数据相同的名称对其进行保存来覆盖缓存的数据集。
导入 数据如何处理 从不同地理区域加载的数据?
如果 Blob 或表存储帐户与用于机器学习试验的计算节点位于不同的区域,则数据访问可能会变慢。 此外,需要支付订阅上的数据入口和出口费用。
为什么我的表中的某些字符未正确显示?
机器学习 UTF-8 编码。 如果表使用另一种编码,则可能无法正确导入字符。
导入期间是否更改了任何禁止的字符?
如果属性数据包含引号或转义的字符序列,它们将通过 Microsoft Excel 中适用于此类字符的规则来处理。 所有其他字符都按照以下规范进行处理: RFC 4180。
模块参数
名称 | 范围 | 类型 | 默认 | 默认 |
---|---|---|---|---|
数据源 | 列表 | 数据源或接收器 | Azure Blob 存储 | 数据源可以是 HTTP、FTP、匿名 HTTPS 或 FTPS、Azure BLOB 存储中的文件、Azure 表、Azure SQL 数据库、本地 SQL Server 数据库、Hive 表或 OData 终结点。 |
身份验证类型 | PublicOrSas 帐户 |
tableAuthType | 帐户 | 指定数据是位于可通过 SAS URL 访问的公共容器中,还是位于需要身份验证以访问的专用存储帐户中。 |
公共或 SAS - 公共存储选项
名称 | 范围 | 类型 | 默认 | 说明 |
---|---|---|---|---|
表 URI | any | String | ||
要通过 SAS 扫描属性名称的行 | integer | |||
通过 SAS 的 TopN 的行计数 |
帐户-专用存储选项
名称 | 范围 | 类型 | 默认 | 说明 |
---|---|---|---|---|
表帐户名 | ||||
表帐户密钥 | any | SecureString | ||
表名 | any | |||
要扫描属性名称的行 | TopN ScanAll |
|||
TopN 的行计数 | any | integer |
Outputs
名称 | 类型 | 说明 |
---|---|---|
结果数据集 | 数据表 | 包含已下载数据的数据集 |
例外
异常 | 描述 |
---|---|
错误 0027 | 如果两个对象必须具有相同的大小,但其大小却不相同,则会发生异常。 |
错误 0003 | 如果一个或多个输入为 null 或为空,则会发生异常。 |
错误 0029 | 如果传递的 URI 无效,则会发生异常。 |
错误 0030 | 如果无法下载文件,则会发生异常。 |
错误 0002 | 如果一个或多个参数无法分析或者无法从指定的类型转换成目标方法所需的类型,则会发生异常。 |
错误 0009 | 如果错误地指定了 Azure 存储帐户名或容器名,则会发生异常。 |
错误 0048 | 如果无法打开文件,则会发生异常。 |
错误 0046 | 如果无法在指定的路径中创建目录,则会发生异常。 |
错误 0049 | 如果无法分析文件,则会发生异常。 |
有关特定于 Studio (经典) 模块的错误列表,请参阅机器学习错误代码。
有关 API 异常的列表,请参阅机器学习 REST API 错误代码。
另请参阅
导入数据
导出数据
通过 HTTP 从 Web URL 导入
从配置单元查询导入
从 Azure SQL 数据库导入
从 Azure Blob 存储导入
从数据馈送提供程序导入
从本地 SQL Server 数据库导入