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

如何无需指定文件名直接读取Azure存储容器中Parquet文件至AML工作区

在Azure Machine Learning Studio中批量读取存储容器内的Parquet文件

方法一:使用Azure ML Data Assets(推荐,原生集成)

  • 操作步骤:
    1. 进入Azure ML Studio工作区的「数据」页面,点击「创建」→「从云存储」。
    2. 选择目标存储账户和容器,将数据资产类型设为「文件夹」,直接指向存放Parquet文件的容器路径,完成创建。
    3. 在Notebook或Pipeline代码中读取并加载所有文件:
      from azure.ai.ml import MLClient
      from azure.identity import DefaultAzureCredential
      import pyarrow.parquet as pq
      import pandas as pd
      
      # 初始化MLClient(用工作区托管身份验证)
      ml_client = MLClient(
          DefaultAzureCredential(),
          subscription_id="你的订阅ID",
          resource_group_name="资源组名称",
          workspace_name="工作区名称"
      )
      
      # 获取已创建的数据资产
      data_asset = ml_client.data.get(name="你的数据资产名", version="版本号")
      
      # 批量读取所有Parquet文件并合并
      parquet_dataset = pq.ParquetDataset(data_asset.path, filesystem="azure")
      final_df = parquet_dataset.read_pandas().to_pandas()
      
    优势:自动识别容器内所有Parquet文件,支持数据版本管理、增量读取,无需手动处理存储验证。

方法二:Azure Storage SDK + Pandas(自定义逻辑场景)

  • 操作步骤:
    1. 在Azure ML Compute实例中安装依赖(若未预装):
      pip install azure-storage-blob pandas pyarrow
      
    2. 编写代码遍历并读取文件:
      from azure.storage.blob import BlobServiceClient
      from azure.identity import DefaultAzureCredential
      import pandas as pd
      from io import BytesIO
      
      # 初始化Blob客户端(托管身份验证,无需硬编码密钥)
      blob_service_client = BlobServiceClient(
          account_url="https://你的存储账户名.blob.core.windows.net",
          credential=DefaultAzureCredential()
      )
      container_client = blob_service_client.get_container_client("你的容器名")
      
      # 遍历并读取所有Parquet文件
      all_dataframes = []
      for blob in container_client.list_blobs():
          if blob.name.endswith(".parquet"):
              blob_bytes = container_client.download_blob(blob.name).readall()
              df = pd.read_parquet(BytesIO(blob_bytes))
              all_dataframes.append(df)
      
      # 合并为最终数据帧
      final_df = pd.concat(all_dataframes, ignore_index=True)
      
    优势:支持自定义过滤逻辑(如按文件前缀、修改时间筛选),灵活度高。

方法三:Pipeline设计器低代码实现

  • 操作步骤:
    1. 在Azure ML Pipeline设计器中,添加「Parquet Dataset」组件。
    2. 配置组件连接到你的存储容器,设置数据集模式为「文件夹」(而非单个文件)。
    3. 将组件输出直接连接到后续处理组件(如数据转换、模型训练),组件会自动合并所有Parquet文件为一个数据集。
      优势:无需编写代码,适合低代码场景快速搭建流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 16:50:19