【问题标题】:How to filter s3 path while reading data from s3 using pyspark如何在使用 pyspark 从 s3 读取数据时过滤 s3 路径
【发布时间】:2021-11-27 07:37:52
【问题描述】:

我有一个像这样的 s3 文件夹结构:

bucketname/20211127123456/.parquet files
bucketname/20211127456789/.parquet files
bucketname/20211126123455/.parquet files
bucketname/20211126746352/.parquet files
bucketname/20211124123455/.parquet files
bucketname/20211124746352/.parquet files

基本上每天都有两个文件夹,里面有多个我想阅读的镶木地板文件。 假设我想从27th and 26th Nov 的文件夹中读取所有文件。

现在我有 boto3 函数,它给了我一个 python 列表,其中包括所有 parquet 文件完整的 s3 路径,在 s3 路径中有 2021112620211127,并且我传递给 spark.read 的列表。有没有更好的方法来实现这一点?

【问题讨论】:

标签: amazon-s3 pyspark


【解决方案1】:

是的,您应该根据日期对数据进行分区。然后,您的 spark 查询将只需要包含日期参数,并且只会读取与该日期相关的文件以进行查询。

这是一个如何与Athena 配合使用的示例;它也适用于Glue and Spark

【讨论】:

    猜你喜欢
    • 2015-06-16
    • 2018-11-09
    • 2018-08-19
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多