Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将包含大量对象的RDD转换为json文件?_Json_Apache Spark - Fatal编程技术网

如何将包含大量对象的RDD转换为json文件?

如何将包含大量对象的RDD转换为json文件?,json,apache-spark,Json,Apache Spark,我的问题是如何将RDD[VoyageObj]转换为json文件,格式如下: case class VoyageObj(val id:String, val type: String) 我知道如何在列表[VoyageObj]中实现这一点。然而,我不知道如何对一个大于200G的RDD[VoyageObj]进行转换。val RDD=sc.parrallelizeList[+urJsonRDD.collect+]这和你对列表[VoyageObj]的转换是一样的,你对列表做了什么?我是通过gson.to

我的问题是如何将RDD[VoyageObj]转换为json文件,格式如下:

case class VoyageObj(val id:String, val type: String)

我知道如何在列表[VoyageObj]中实现这一点。然而,我不知道如何对一个大于200G的RDD[VoyageObj]进行转换。

val RDD=sc.parrallelizeList[+urJsonRDD.collect+]

这和你对列表[VoyageObj]的转换是一样的,你对列表做了什么?我是通过gson.toJsonvoyageObjList做的。但是我不知道如何在RDD上使用它。你不能转换成dataframe并将其写成JSON格式吗?还没有,主要是因为RDD中的数据来自一个非常大的hbase表。所以我还没有一个有效的方法来填充要jsoned的大数据。如果它很小,这当然是一项容易的工作,它似乎没有给出我提到的格式。这个问题中的RDD是非常小的数据,但我的问题中的一个是数千万行,无法放入正常的数据结构中。尝试将对象RDD转换为字符串RDD,如val JsonData=youRDD.map row=>[{+id+:+row.id+,+type:+row.type+}。如果有资源管理器,请使用资源管理器。它是一个字符串rdd。如下所示:{id:aaa,name:abc}{id:bbb,name:bcd}但我想要的是这样:[{id:aaa,name:abc},{id:bbb,name:bcd}]val rdd=sc.parrallelizeList[+urJsonRDD.collect+]
[{
  "id":"111111",
  "type":"Voyage"
},
{
  "id":"111112",
  "type":"Voyage"
}]