【问题标题】:Is there a way to generate a single csv output file from a glue job? [duplicate]有没有办法从粘合作业生成单个 csv 输出文件? [复制]
【发布时间】:2019-08-30 10:11:38
【问题描述】:

正如标题所暗示的那样。我想我记得那是胶水作业生成单个 csv 输出文件而不是多个文件的某种选项,这是特定于某些胶水配置的,并且独立于任何 apache spark 相关功能。实现此目的需要对 pyspark 文件进行哪些设置更改?提前感谢日志

【问题讨论】:

    标签: apache-spark pyspark aws-glue


    【解决方案1】:

    您可以使用 DynamicFrameWriter 类中的选项指定要写入的格式,例如下面的 sn-p

    glue_context.write_dynamic_frame.from_options(
       connection_options = {"path": "$outpath", "partitionKeys": ["type"]},
       format = "csv")
    

    你可以找到支持的格式列表here

    PS:代码 sn-p 是基于 python API,但如果你使用的是 scala API,它也应该类似

    【讨论】:

    • 谢谢!快速的问题,不过,我已经将 csv 指定为我的输出格式,我的问题只是我想避免多个 csv 分区输出文件,我是否可以通过更改 partition_keys 属性的属性来做到这一点?
    • partition_keys 用于指定是否要在保存时重新分区数据。如果您想避免写入多个文件,我能想到的一种方法是将 DynamicFrame 转换为 spark SQL Dataframe 然后 coalesce(1) 然后将其转换回 DynamicFrame (可能DynamicFrame本身有一个API,请检查),但是您需要绝对确定生成的数据帧将适合单个执行程序的内存(也要考虑开销内存)
    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 2013-08-10
    • 2020-02-11
    相关资源
    最近更新 更多