【问题标题】:most memory efficient way to combine a few parquet files组合几个镶木地板文件的最节省内存的方法
【发布时间】:2020-05-02 15:24:03
【问题描述】:

我有大约 10 个巨大的 parquet 文件(每个大约 60~100 GB),相同的格式和相同的分区。 我想将所有这些结合起来 - 最好的方法是什么? 我一直在aws上遇到内存问题,所以希望避免读取所有数据。 谢谢!

【问题讨论】:

    标签: amazon-web-services pyspark parquet aws-glue


    【解决方案1】:

    在其上运行胶水爬虫并在胶水目录中创建外部表。您可以访问所有 10 个文件中的所有数据。

    假设您要创建一个 parquet 文件,请使用 redshift unload 命令来执行此操作。参考https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html

    【讨论】:

    • df.repartition(1).write.format("parquet").mode("append").save("temp.parquet") 添加更多 DPU 来处理内存问题
    【解决方案2】:

    目标是 S3 存储桶吗?如果是这样,Firehose 就是合并文件的方法。

    Append data to an S3 object

    【讨论】:

    • 是的,这 10 个镶木地板文件和目标都在 S3 上。有没有更好的胶水方法?
    猜你喜欢
    • 1970-01-01
    • 2021-02-18
    • 2018-07-01
    • 2019-08-04
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 2019-11-20
    • 2023-01-28
    相关资源
    最近更新 更多