在scala中将RDD(Arrary(String,Int))转换为Json

时间:2017-12-01 07:46:08

标签: json scala rdd

我有一个表格的RDD: 数组((A,3),(B,5),(C,88))

我想在scala中转换为json,如

{ " A":3, " B":5, " C":88, }

1 个答案:

答案 0 :(得分:0)

如果您有RDD[Array[Tuple2[String, Int]]]

val rdd = sc.parallelize(Seq(Array(("A",3), ("B",5), ("C",88))))

然后您可以执行以下操作以获得所需的json格式

val columnName = rdd.map(x => x.map(_._1)).first().toSeq
rdd.map(x => x.map(_._2)).map(arr => (arr(0), arr(1), arr(2))).toDF(columnName:_*).toJSON.foreach(x => println(x.toString))

应该给你

{"A":3,"B":5,"C":88}