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

使用Azure Datastore在Python中从Azure ML Studio读写CDL Gen2 CSV文件

Azure ML Studio 通过Datastore读写ADLS Gen2 CSV文件

所需安装的Azure库

执行以下命令安装依赖:

pip install azureml-core azure-storage-file-datalake pandas
  • azureml-core:Azure ML Studio核心操作库,用于连接工作区与Datastore
  • azure-storage-file-datalake:ADLS Gen2底层存储操作支持库
  • pandas:可选,用于CSV数据的解析与处理

Python示例代码

1. 连接Azure ML工作区与ADLS Gen2 Datastore

from azureml.core import Workspace, Datastore

# 加载工作区(优先读取本地config.json,也可手动传入subscription_id等参数)
ws = Workspace.from_config()

# 获取已在AML Studio配置好的ADLS Gen2 Datastore
adls_gen2_ds = Datastore.get(ws, datastore_name="your_datastore_name")

2. 读取ADLS Gen2中的CSV文件

import pandas as pd
from azureml.data.datapath import DataPath

# 指定Datastore上的文件路径
file_path = DataPath(datastore=adls_gen2_ds, path_on_datastore="raw_data/source.csv")

# 读取CSV到DataFrame
with file_path.open() as f:
    df = pd.read_csv(f)

print("读取完成,数据预览:")
print(df.head())

3. 将数据写入ADLS Gen2为CSV文件

# 指定目标文件路径
target_path = DataPath(datastore=adls_gen2_ds, path_on_datastore="processed_data/result.csv")

# 写入CSV(关闭索引以减少冗余)
with target_path.open(mode="w") as f:
    df.to_csv(f, index=False)

print("文件已成功写入ADLS Gen2")

ADLS Gen2相关变更与关键信息

核心变更点

  • 协议替换:Gen1的adl://协议替换为Gen2的abfss://协议,支持分层命名空间(HNS),兼容HDFS语义
  • 库更新:原Gen1依赖的azure-datalake-store库不再推荐,改用azure-storage-file-datalake处理底层存储操作
  • 权限调整:ADLS Gen2依赖Storage Blob Data角色(如Storage Blob Data Contributor),而非传统的存储账户管理员权限,需确保AML工作区的认证主体(服务主体/托管身份)拥有对应路径的权限

实用配置与学习要点

  • Datastore配置:在AML Studio的「数据」->「数据存储」中新建ADLS Gen2类型的存储,支持账户密钥、服务主体、托管身份三种认证方式
  • 文件操作最佳实践:优先使用AML的DataPath或Dataset进行读写,便于后续的实验追踪与版本管理,避免直接调用底层存储SDK
  • 故障排查:若出现权限错误,检查认证主体的角色分配是否覆盖目标容器或路径,确认分层命名空间已启用(Gen2默认启用)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 12:55:13