我是Apache Spark的新手,想要将数据集保存在JSON(字典列表)中,将其加载到RDD中,然后应用过滤器和地图等操作。在我看来这应该很简单,但在查看Spark的文档后,我发现只使用SQL查询(https://spark.apache.org/docs/1.1.0/sql-programming-guide.html),这不是我想与之交互的方式。 RDD。
如何将保存在JSON中的数据集加载到RDD中?如果我错过了相关文档,我会很感激链接。
谢谢!
答案 0 :(得分:3)
您可以执行类似
的操作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 _ => ???
})
答案 1 :(得分:1)
您是否尝试在映射中应用json.loads()?
import json
f = sc.textFile('/path/to/file')
d = lines.map(lambda line: json.loads(line))