【问题标题】:AWS glue parquet conversion in to s3AWS 胶水拼花转换为 s3
【发布时间】:2023-03-20 06:44:02
【问题描述】:

我们正在使用 aws glue etl 作业将 s3 Json 或 CSV 转换为 parquet 格式,并将结果保存在 nnew s3 中。 该作业定期运行。 我们正面临一个问题,例如,如果我们每次运行时都有 10 个 json 文件,它会创建新的 10parquet 文件,因此它变成 10 20 30 40 ....等等,我们只想看到 10 个文件。 有什么方法可以覆盖现有的镶木地板文件。我们只使用胶水生成的 Python 脚本。 我们可以只转换更新的文件,还是可以将所有文件都过期?

【问题讨论】:

    标签: etl aws-glue


    【解决方案1】:

    df.write.mode('overwrite').parquet("/output/folder/path") 如果您想使用 python 覆盖 parquet 文件,则可以使用。

    【讨论】:

    • 嗨 Kishore 感谢您的回复尝试了相同的结果。验证我们的结果
    • 嗨 Kishore 还有一个问题..如果我们的列有空间,那么这种方法会导致问题,我们尝试别名仍然相同。
    • 我尝试了在我的 ETL 作业中使用覆盖模式的建议代码(在另一个 s3 中将 csv 从 s3 转换为 parquet,但似乎该作业不起作用并引发异常:java.lang. lang.IllegalArgumentException: Can not create a Path from an empty string 后来我发现一篇关于完全相同问题的博客文章说用 s3 和 parquet 覆盖模式根本不起作用:stackoverflow.com/questions/44991550/…
    • 更新:如果您在 s3 路径中至少包含一个顶级文件夹,则覆盖模式可以正常工作。
    猜你喜欢
    • 2021-01-01
    • 2017-12-30
    • 2020-03-19
    • 1970-01-01
    • 2021-01-28
    • 2021-12-18
    • 2021-07-26
    • 1970-01-01
    • 2021-05-02
    相关资源
    最近更新 更多