我试图将Spark DataFrame(大于20G)保存到Amazon S3中的单个json文件中,我保存该数据帧的代码如下所示:
dataframe.repartition(1).save("s3n://mybucket/testfile","json")
但是我从S3收到错误消息“您建议的上载超出最大允许大小”,我知道Amazon允许的最大文件大小为5GB。
是否可以在Spark中使用S3分段上传?还是有另一种方法可以解决这个问题?
顺便说一句,我需要单个文件中的数据,因为另一个用户将在以后下载它。
*我在通过spark-ec2脚本创建的3节点集群中使用apache spark 1.3.1。
非常感谢
JG
最佳答案
我会尝试将大数据框分成一系列较小的数据框,然后将它们附加到目标中的同一文件中。
df.write.mode('append').json(yourtargetpath)
关于apache-spark - 在S3中将大型Spark Dataframe保存为单个json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29908892/