![](/img/trans.png)
[英]Is there a way to read filename from S3 bucket when running AWS Glue ETL job and name the output filename. Does pyspark provide a way to do it?
[英]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.