正在将 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))