PySpark-JSON到RDD / coalesce

时间:2018-06-26 02:35:26

标签: json apache-spark pyspark

基于对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?

1 个答案:

答案 0 :(得分:0)

自定义<form method="post" id="id-form" class="hidden"> <input type="hidden" id="ids" name="ids" value="" /> </form> 以来

RDD

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