如何在AWS Glue中使用通配符模式动态读取S3中的CSV文件
解决方案
可以通过AWS Glue连接配置中的include参数实现文件名模式匹配,修改后的代码如下:
df = glueContext.create_dynamic_frame.from_options( format_options={ "quoteChar": '"', "withHeader": True, "separator": ",", "optimizePerformance": False, }, connection_type="s3", format="csv", connection_options={ "paths": [ "s3://s1bucket/" # 改为文件所在的目录路径,而非单个文件 ], "recurse": True, "include": "*_2023.csv" # 匹配所有以"_2023.csv"结尾的文件 }, transformation_ctx="df", ).toDF()
关键修改说明:
- 将
paths指定为文件所在的目录(示例中是桶根目录),不再绑定单个固定文件名 - 添加
include参数,使用通配符*匹配任意前缀,仅筛选以_2023.csv结尾的文件 - 如果不需要递归读取子目录中的文件,可以将
recurse设为False
内容的提问来源于stack exchange,提问作者Jim Macaulay
相关产品推荐
相关产品推荐

