You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Hugging Face load_dataset()从Azure Blob存储加载数据集

解决Hugging Face load_dataset加载Azure Blob数据集的问题

问题根源

你直接把abfs://路径传给load_dataset()的第一个参数,会被当成数据集名称去本地或Hugging Face Hub查找,而非指向远程存储路径,这是报错的核心原因。另外az://是Azure CLI专用路径格式,Hugging Face datasets库不支持,统一使用abfs://即可。

正确实现方案

1. 安装依赖

确保所有必要包已安装:

pip install datasets adlfs azure-storage-blob

2. 直接指定格式+远程路径(推荐)

针对CSV、JSON、Parquet等标准格式数据集,通过data_files参数指定Blob路径,配合storage_options传入Azure认证信息:

from datasets import load_dataset

# Azure存储配置
storage_options = {
    "connection_string": "DefaultEndpointsProtocol=https;AccountName=acname;AccountKey=key;EndpointSuffix=core.windows.net"
}

# 加载Blob中单个CSV文件
data = load_dataset(
    "csv",  # 替换为你的数据集格式:json/parquet/text等
    data_files="abfs://ctnr-invoices/your-data-file.csv",  # 容器名+文件路径
    storage_options=storage_options
)

# 加载Blob中整个目录的同格式文件(用通配符)
data = load_dataset(
    "parquet",
    data_files="abfs://ctnr-invoices/*.parquet",
    storage_options=storage_options
)

3. 结合已创建的AzureBlobFileSystem实例

如果已经手动初始化了AzureBlobFileSystem,直接通过fs参数传入即可:

from datasets import load_dataset
from adlfs import AzureBlobFileSystem

# 创建文件系统实例
fs = AzureBlobFileSystem(
    connection_string="DefaultEndpointsProtocol=https;AccountName=acname;AccountKey=key;EndpointSuffix=core.windows.net"
)

# 加载数据集
data = load_dataset(
    "json",
    data_files="abfs://ctnr-invoices/your-data.json",
    fs=fs
)

关键注意事项

  • 必须明确指定数据集格式,load_dataset()第一个参数不能省略或填路径
  • abfs://路径格式为abfs://<容器名>/<文件/目录路径>,请确认容器名称和文件路径正确
  • 验证Azure存储账号的连接字符串/密钥是否拥有该Blob容器的读取权限

内容的提问来源于stack exchange,提问作者lte__

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 02:20:10