【问题标题】:Renaming Exported files from Spark Job重命名从 Spark 作业导出的文件
【发布时间】:2019-09-03 03:11:45
【问题描述】:

我们目前在 Databricks 上使用 Spark Job,它在 S3 中的数据湖上进行处理。 处理完成后,我们使用普通方法将结果导出到 S3 存储桶 df.write()

问题是当我们将数据帧写入 S3 时,文件的名称由 Spark 控制,但根据我们的协议,我们需要将这些文件重命名为有意义的名称。

由于 S3 没有重命名功能,我们现在使用 boto3 复制和粘贴具有预期名称的文件。 这个过程非常复杂,并且随着更多客户的加入而无法扩展。

我们有没有更好的解决方案将导出的文件从 spark 重命名为 S3 ?

【问题讨论】:

    标签: apache-spark amazon-s3 bigdata


    【解决方案1】:

    不能直接在Spark的存档里做

    Spark 使用 Hadoop 文件格式,这需要对数据进行分区 - 这就是您拥有部分文件的原因。如果文件足够小以适合内存,一种解决方法是转换为 pandas 数据帧并从那里另存为 csv。

    df_pd = df.toPandas()
    df_pd.to_csv("path")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-28
      相关资源
      最近更新 更多