繁体   English   中英

如何使用 AWS Glue ETL 工具从 S3 读取文件名

[英]How to Read Filename from S3 using AWS Glue ETL Tools

我在 S3 中有一些看起来像这样的文件(都在同一路径中):

group1_20210415.csv
group2_20210415.csv
group1_20210416.csv
group2_20210416.csv

每个文件的架构相当简单:

group1_name, group1_id
group2_name, group2_id

我希望能够使用 Athena 从 S3 查询这些名称和 ID,并在存在新文件时使用 AWS Glue 抓取该 S3 位置。

具体来说,我想在 Athena 中有一个带有架构的表:

group1_name, group1_id, group2_name, group2_id, hit_date

我的直觉是使用 AWS Glue PySpark 将 S3 文件中的数据组合成一个 DataFrame,这很简单。 但是,每个文件的日期存在于文件名本身而不是数据中。

有没有办法提取文件名的“日期”部分并将其用作 AWS Glue PySpark DataFrame 中的列? 如果没有,是否有人的直觉提出了另一种方法?

你可以试试这个: data_frame.withColumn("input_file", input_file_name())然后你可以转换这个列来提取日期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM