首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PySpark - JSON到RDD/coalesce

PySpark - JSON到RDD/coalesce
EN

Stack Overflow用户
提问于 2018-06-26 02:35:26
回答 1查看 288关注 0票数 0

根据对this question I asked earlier的建议,我能够以我想要的格式将RDD转换成JSON。为了将它保存到HDFS中,我想将其转换回RDD,并使用coalesce将其保存到10个分区文件中。

我目前所做的是:

  • 使用my_rdd = sc.parallelize([my_json])转换为RDD
  • 使用my_rddcoalesce(10).saveAsTextFile进行合并和保存

在我的测试中,这是成功执行的,但是10个分区文件中只有一个有数据。进一步的检查,看起来整个json文件作为一个记录加载到RDD中,而不是每个json元素一个记录,从而导致coalesce函数无法正确地拆分数据。

我试着发出hadoop fs -text <saved_file_partition> |head -n 1,整个JSON都被抛出了,而不仅仅是第一个记录。

如何正确地将JSON对象转换为RDD?

EN

回答 1

Stack Overflow用户

发布于 2018-06-26 10:21:06

因为您将RDD定义为

代码语言:javascript
复制
sc.parallelize([my_json])

它将只有一条记录,并且单个记录永远不会在分区之间被分割。因此,不管您使用了多少分区--数据集中只能有一个非空分区。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51034110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档