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

如何用Python从Azure ML Data store URI创建临时未注册数据资产

用Python实现Azure ML临时未注册数据资产(合并多文件夹文件)

以下代码可实现与Azure ML GUI一致的功能:从已连接的ADLS Blob数据存储中读取多文件夹文件并合并,创建临时未注册的数据资产(仅在当前Notebook会话有效,无需注册到工作区)。

步骤与代码

1. 初始化工作区连接

先在Notebook中连接到你的Azure ML工作区:

from azureml.core import Workspace, Datastore, Dataset
from azureml.data.datapath import DataPath

# 加载工作区配置(默认读取Notebook所在环境的config.json)
ws = Workspace.from_config()

2. 获取目标ADLS数据存储

指定你已连接的ADLS Blob容器数据存储名称:

# 替换为你的数据存储名称
datastore = Datastore.get(ws, datastore_name="your_adls_datastore_name")

3. 定义要合并的文件路径

添加需要合并的文件夹路径,支持通配符匹配文件夹下所有文件:

# 示例:指定两个文件夹下的所有CSV文件,可根据实际路径调整
file_paths = [
    DataPath(datastore, "data/folder1/*"),
    DataPath(datastore, "data/folder2/*")
]

4. 创建未注册数据集并合并文件

通过挂载(大文件推荐)或下载方式读取文件,合并后生成临时数据资产:

# 创建未注册的FileDataset,指向目标文件路径
raw_dataset = Dataset.File.from_files(path=file_paths)

# 挂载数据集到临时路径(避免大文件下载占用本地空间)
mount_context = raw_dataset.mount()
mount_context.start()

# 合并所有文件(以CSV为例,其他格式需调整读取逻辑)
import pandas as pd
import os

combined_data = pd.DataFrame()
for root, _, files in os.walk(mount_context.mount_point):
    for file in files:
        file_full_path = os.path.join(root, file)
        df = pd.read_csv(file_full_path)
        combined_data = pd.concat([combined_data, df], ignore_index=True)

# 保存合并后的临时文件
temp_file_path = "./temp_combined_data.csv"
combined_data.to_csv(temp_file_path, index=False)

# 基于临时文件创建未注册的临时数据资产
temp_data_asset = Dataset.File.from_files(path=[temp_file_path])

# 验证:读取临时数据资产内容
sample_df = temp_data_asset.to_pandas_dataframe()
print(sample_df.head())

5. 清理资源

使用完成后释放挂载并删除临时文件:

# 停止挂载
mount_context.stop()
# 删除本地临时文件
import os
os.remove(temp_file_path)

关键说明

  • 未注册特性:全程未调用dataset.register()方法,因此该数据资产仅存在于当前Notebook会话中,会话结束后自动失效,无需手动删除注册记录。
  • 格式适配:如果是Parquet、JSON等其他格式,只需调整文件读取(pd.read_parquet等)和保存的代码逻辑即可。
  • 性能优化:大文件场景优先使用挂载方式;小文件可直接用raw_dataset.download(target_path="./temp_files")下载后合并。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 09:02:55