Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
借助 Azure 机器学习,可以从本地计算机或现有的基于云的存储资源中导入数据。 本文介绍重要的 Azure 机器学习数据概念。
注释
Azure 机器学习资源不支持从 Synapse SQL 数据资源导入数据。
数据存储
Azure 机器学习数据存储用作对现有 Azure 存储帐户的引用。 Azure 机器学习数据存储具有以下优势:
- 可使用易用的常见 API 与不同的存储类型(Blob/文件存储/ADLS)进行交互。
- 在团队运营中更轻松地发现有用的数据存储。
- 对于基于凭据的访问(服务主体/SAS/密钥),Azure 机器学习数据存储可保护连接信息。 这样,就不需要在脚本中放置该信息。
使用现有 Azure 存储帐户创建数据存储时,你有两个不同的身份验证方法选项:
- 基于凭据 - 使用服务主体、共享访问签名 (SAS) 令牌或帐户密钥对数据访问进行身份验证。 具有工作区读者访问权限的用户可以访问凭据。
- 基于标识:使用 Microsoft Entra 标识或托管标识对数据访问进行身份验证。
下表汇总了 Azure 机器学习数据存储可以创建的 Azure 基于云的存储服务。 此外,该表还汇总了可以访问这些服务的身份验证类型:
| 支持的存储服务 | 基于凭据的身份验证 | 基于标识的身份验证 |
|---|---|---|
| Azure Blob 容器 | ✓ | ✓ |
| Azure 文件共享 | ✓ | |
| Azure Data Lake Gen1 | ✓ | ✓ |
| Azure Data Lake Gen2 | ✓ | ✓ |
有关数据存储的详细信息,请访问创建数据存储。
默认数据存储
每个 Azure 机器学习工作区都有一个默认存储帐户(Azure 存储帐户),其中包含以下数据存储:
提示
若要查找工作区的 ID,请转到 Azure 门户中的工作区。 选择“设置”,然后选择“属性”。 此时将显示工作区 ID。
| 数据存储名称 | 数据存储类型 | 数据存储名称 | 说明 |
|---|---|---|---|
workspaceblobstore |
Blob 容器 | azureml-blobstore-{workspace-id} |
存储数据上传、作业代码快照和管道数据缓存。 |
workspaceworkingdirectory |
文件共享 | code-{GUID} |
存储笔记本、计算实例和提示流的数据。 |
workspacefilestore |
文件共享 | azureml-filestore-{workspace-id} |
用于数据上传的替代容器。 |
workspaceartifactstore |
Blob 容器 | azureml |
指标、模型和组件等资产的存储。 |
数据类型
URI(存储位置)可以引用文件、文件夹或数据表。 机器学习作业输入和输出定义需要以下三种数据类型之一:
| 类型 | V2 API | V1 API | 规范场景 | V2/V1 API 差异 |
|---|---|---|---|---|
|
文件 引用单个文件 |
uri_file |
FileDataset |
读/写单个文件 - 文件可以采用任何格式。 | V2 API 的新类型。 在 V1 API 中,文件始终映射到计算目标文件系统上的文件夹,此映射需要 os.path.join。 在 V2 API 中,映射的是单个文件。 这样,就可以在代码中引用该位置。 |
|
文件夹 引用单个文件夹 |
uri_folder |
FileDataset |
必须将 parquet/CSV 文件的文件夹读取/写入到 Pandas/Spark 中。 使用文件夹中的图像、文本、音频、视频文件进行深度学习。 |
在 V1 API 中,FileDataset 有一个关联的引擎,可以从文件夹中获取文件样本。 在 V2 API 中,文件夹是到计算目标文件系统的简单映射。 |
|
表 引用数据表 |
mltable |
TabularDataset |
架构很复杂,可能会频繁更改,或者需要大型表格数据的一部分。 使用表的 AutoML。 |
在 V1 API 中,Azure 机器学习后端存储了数据具体化蓝图。 因此,仅当你有 Azure 机器学习工作区时,TabularDataset 才起作用。
mltable 将数据具体化蓝图存储在你的存储中。 存储在此位置意味着可以在不连接 Azure 机器学习的情况下使用它(例如在本地)。 在 V2 API 中,可以更轻松地从本地作业转换到远程作业。 有关详细信息,请访问在 Azure 机器学习中使用表。 |
URI
统一资源标识符 (URI) 表示本地计算机上的存储位置、Azure 存储或公开可用的 http(s) 位置。 这些示例显示了不同存储选项的 URI:
| 存储位置 | URI 示例 |
|---|---|
| Azure 机器学习数据存储 | azureml://datastores/<data_store_name>/paths/<folder1>/<folder2>/<folder3>/<file>.parquet |
| 本地计算机 | ./home/username/data/my_data |
| 公共 http(s) 服务器 | https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv |
| Blob 存储 | wasbs://<containername>@<accountname>.blob.core.chinacloudapi.cn/<folder>/ |
| Azure Data Lake (gen2) | abfss://<file_system>@<account_name>.dfs.core.chinacloudapi.cn/<folder>/<file>.csv |
| Azure Data Lake (gen1) | adl://<accountname>.azuredatalakestore.net/<folder1>/<folder2> |
Azure 机器学习作业将 URI 映射到计算目标文件系统。 此映射意味着,对于使用或生成 URI 的命令,该 URI 的工作方式类似于文件或文件夹。 URI 使用基于标识的身份验证通过 Microsoft Entra ID(默认)或托管标识连接到存储服务。 Azure 机器学习数据存储 URI 可以应用基于标识的身份验证或基于凭据(例如服务主体、SAS 令牌、帐户密钥)的身份验证,而不会泄露机密。
URI 可以用作 Azure 机器学习作业的输入或输出,并且可以使用以下四种不同模式选项之一映射到计算目标文件系统:
- 只读装载 ():URI 表示装载到计算目标文件系统的存储位置。 装载的数据位置仅支持只读输出。
- 读写装载 ():URI 表示装载到计算目标文件系统的存储位置。 装载的数据位置支持其中的读取输出和数据写入。
- 下载 (
download):URI 表示包含下载到计算目标文件系统的数据的存储位置。 - 上传 (
upload):写入计算目标位置的所有数据都上传到 URI 表示的存储位置。
此外,还可以在“直接”模式下将 URI 作为作业输入字符串传入。 下表汇总了可用于输入和输出的模式组合:
| 作业 输入或输出 |
upload |
download |
ro_mount |
rw_mount |
direct |
|---|---|---|---|---|---|
| 输入 | ✓ | ✓ | ✓ | ||
| 输出 | ✓ | ✓ |
有关详细信息,请参阅在作业中访问数据。
数据运行时功能
Azure 机器学习使用自己的数据运行时来完成以下三个目的之一:
- 装载/上传/下载
- 将存储 URI 映射到计算目标文件系统
- 使用 Azure 机器学习表 (
mltable) 将表格数据具体化为 pandas/spark
Azure 机器学习数据运行时专为高速且高效完成机器学习任务而设计。 它提供以下主要优势:
- Rust 语言体系结构。 Rust 语言以高速和高内存效率而闻名。
- 轻型;Azure 机器学习数据运行时不依赖于其他技术(例如 JVM),因此,运行时可在计算目标上快速安装。
- 多进程(并行)数据加载。
- 数据预提取在 CPU 上作为后台任务运行,以提高 GPU 在深度学习操作中的利用率。
- 对云存储的无缝身份验证。
数据资产
Azure 机器学习数据资产与 Web 浏览器书签(收藏夹)类似。 可以创建数据资产,然后使用易记名称访问该资产,而无需记住指向最常用数据的冗长存储路径 (URI)。
通过创建数据资产,还可以创建对数据源位置的引用及其元数据的副本。 由于数据保留在其现有位置中,因此不会产生额外的存储成本,也不会损害数据源的完整性。 可以从 Azure 机器学习数据存储、Azure 存储、公共 URL 或本地文件创建数据资产。
有关数据资产的详细信息,请访问创建数据资产。