apache-spark - 在S3中将大型Spark Dataframe保存为单个json文件

标签 apache-spark dataframe apache-spark-sql pyspark

我试图将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/

相关文章:

apache-spark - SparkSQL、Thrift Server 和 Tableau

java - Java 中的 Spark sql 选择和减少

python - Spark- 计算一列在另一列之后的百分比

apache-spark - yarn 上 Spark 流的动态分配不会缩小执行器规模

scala - Spark 嵌套转换 SPARK-5063

r - 根据条件求和选择行 tidyverse

python - 仅保存 pandas df 中的非空条目值和列号,每行仅保存一个非空值

python - 当且仅当特定列的值缺失时如何删除行?

r - 如何使用 ft_elementwise_product

apache-spark - 如何在Apache Spark开源集群中将用户登录凭据设置为Spark WebUI