正在将 JSON 数据集加载到 Spark,然后使用过滤器、地图等
Loading JSON dataset into Spark, then use filter, map, etc
我是 Apache Spark 的新手,想获取保存在 JSON(字典列表)中的数据集,将其加载到 RDD 中,然后应用过滤器和映射等操作。在我看来,这应该很简单,但在查看 Spark 的文档后,我发现唯一使用 SQL 查询 (https://spark.apache.org/docs/1.1.0/sql-programming-guide.html) 的东西,这不是我想要与 RDD 交互的方式。
如何将保存在 JSON 中的数据集加载到 RDD 中?如果我错过了相关文档,我将不胜感激 link.
谢谢!
你可以这样做
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))
我是 Apache Spark 的新手,想获取保存在 JSON(字典列表)中的数据集,将其加载到 RDD 中,然后应用过滤器和映射等操作。在我看来,这应该很简单,但在查看 Spark 的文档后,我发现唯一使用 SQL 查询 (https://spark.apache.org/docs/1.1.0/sql-programming-guide.html) 的东西,这不是我想要与 RDD 交互的方式。
如何将保存在 JSON 中的数据集加载到 RDD 中?如果我错过了相关文档,我将不胜感激 link.
谢谢!
你可以这样做
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))