首页 > 解决方案 > 通过 Spark 将文件附加到现有的 S3 存储桶文件夹

问题描述

我在执行一些转换后Spark需要将数据写入存储S3桶的地方工作。我知道,如果文件夹路径已经存在,则在将 dtaa 写入HDFS/S3via时Spark会引发异常。所以在我们的例子中,如果S3://bucket_name/folder在将数据写入同一个S3桶路径时已经存在,它将抛出异常。

现在可能的解决方案是OVERWRITE在写入时使用模式Spark。但这会删除其中已经存在的所有文件。APPEND我想在同一个文件夹中拥有一种功能。因此,如果文件夹已经有一些文件,那么它只会向其中添加更多文件。

我不确定开箱即用的 API 是否提供任何此类功能。当然有一个选项,我可以在文件夹中创建一个临时文件夹并保存文件。之后,我可以将该文件移动到其父文件夹并删除临时文件夹。但这种方法并不是最好的。

因此,请建议如何进行此操作。

标签: apache-sparkamazon-s3

解决方案


推荐阅读