Python 将JSON数据集加载到Spark中,然后使用过滤器、映射等
我是ApacheSpark新手,希望将JSON中保存的数据集作为字典列表,加载到RDD中,然后应用filter和map之类的操作。在我看来,这应该很简单,但在查看Spark的文档后,我发现唯一的东西是使用SQL查询,这不是我希望与RDD交互的方式 如何将JSON中保存的数据集加载到RDD中?如果我错过了相关的文档,我希望能有一个链接Python 将JSON数据集加载到Spark中,然后使用过滤器、映射等,python,json,apache-spark,Python,Json,Apache Spark,我是ApacheSpark新手,希望将JSON中保存的数据集作为字典列表,加载到RDD中,然后应用filter和map之类的操作。在我看来,这应该很简单,但在查看Spark的文档后,我发现唯一的东西是使用SQL查询,这不是我希望与RDD交互的方式 如何将JSON中保存的数据集加载到RDD中?如果我错过了相关的文档,我希望能有一个链接 谢谢 你可以这样做 import org.json4s.JValue import org.json4s.native.JsonMethods._ val jso
谢谢 你可以这样做
import org.json4s.JValue
import org.json4s.native.JsonMethods._
val jsonData: RDD[JValue] = sc.textFile(path).flatMap(parseOpt)
然后对JValue进行JSON处理,如
jsonData.foreach(json => {
println(json \ "someKey")
(json \ "id") match {
case JInt(x) => ???
case _ => ???
})
您是否尝试过在映射中应用json.loads
import json
f = sc.textFile('/path/to/file')
d = lines.map(lambda line: json.loads(line))
同样的文档说明使用SQL只是一种选择:可以使用jsonRDD以分层方式查询数据。val anotherPeopleRDD=sc.parallelize{name:Yin,地址:{城市:哥伦布,州:俄亥俄州}}::Nil;val anotherPeople=sqlContext.jsonrddanotherpeople基本上我就是这么做的,是的。我将文件作为原始文本逐行读取,并应用json.loads函数。谢谢你的回答!