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

如何在GreatExpectations中配置S3多文件夹作为Data Asset?

解决GreatExpectations匹配S3子文件夹文件的问题

问题原因

当前配置仅能匹配s3_prefix直接下属的文件,核心原因有两点:

  1. 默认未开启递归扫描,GreatExpectations只会遍历s3_prefix的直接层级,不会深入子文件夹
  2. 原正则仅匹配s3_prefix之后直接跟随subfolder_a/file.parquet的路径,无法覆盖中间的子文件夹层级

解决方案

1. 开启递归扫描

在add_parquet_asset时显式设置recursive=True,让GE递归遍历s3_prefix下的所有子文件夹。

2. 调整正则表达式

修改正则,加入.*匹配任意中间路径,确保能捕获位于任意子文件夹中的目标文件。

修改后的代码示例

asset_name = "iceberg_asset" 
s3_prefix = "folder_a/folder_b/folder_c/" 
# 匹配任意子文件夹层级下的subfolder_a/file.parquet
batching_regex = r".*subfolder_a/file\.parquet" 

data_asset = datasource.add_parquet_asset(
    name=asset_name,
    batching_regex=batching_regex,
    s3_prefix=s3_prefix,
    recursive=True
)

关键说明

  • recursive=True:强制GE扫描s3_prefix下的所有嵌套子文件夹,而非仅直接同级文件
  • .*:正则中的通配符,匹配任意长度的路径字符(包括多层子文件夹的路径分隔符),确保目标文件无论在哪个子层级都能被匹配到

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:42:44