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

如何在Kedro中将Azure指定CSV文件加入DataCatalog并统一为一个数据集

Kedro加载Azure Blob Storage指定CSV为单一数据集的实现方案

首先安装所需依赖包:

pip install kedro-datasets adlfs

方案1:文件有统一命名规则(如示例sales_<date_from>_<date_to>.csv格式)

直接在conf/base/catalog.yml中配置通配符匹配目标文件,不会读取其他不符合规则的文件:

sales_transactions: # 你要设定的统一数据集名称
  type: pandas.CSVDataset
  filepath: abfs://<你的容器名称>/sales_*.csv # 用通配符匹配4个目标文件
  load_args:
    storage_options:
      account_name: <你的Azure存储账户名>
      # 以下认证参数二选一,建议通过credentials.yml配置避免硬编码
      account_key: ${azure_credentials.account_key}
      # sas_token: ${azure_credentials.sas_token}
    # 可选:统一所有文件的列解析规则
    parse_dates: [transaction_time, create_time]
    dtype:
      order_id: str
      amount: float

方案2:4个文件为离散命名无统一规则

直接在filepath字段中传入4个目标文件的完整Blob路径列表,完全精准匹配,不会读取额外文件:

sales_transactions:
  type: pandas.CSVDataset
  filepath:
    - abfs://<你的容器名称>/sales_20230101_20230131.csv
    - abfs://<你的容器名称>/sales_20230201_20230228.csv
    - abfs://<你的容器名称>/sales_20230301_20230331.csv
    - abfs://<你的容器名称>/sales_20230401_20230430.csv
  load_args:
    storage_options:
      account_name: <你的Azure存储账户名>
      account_key: ${azure_credentials.account_key}

补充说明

  • 上述两种配置加载时,Kedro会自动读取所有指定的CSV文件,合并为单个Pandas DataFrame输出,你可以在节点中直接调用sales_transactions数据集使用。
  • 如果需要自定义合并逻辑(比如新增文件来源标识列、去重规则等),可以继承pandas.CSVDataset自定义数据集类,重写_load方法实现自定义逻辑。
  • Azure认证参数建议统一存放在conf/base/credentials.yml中,避免硬编码泄露敏感信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:15:08