json4s查询解析的spark json流

时间:2015-10-16 13:55:32

标签: json apache-spark spark-streaming json4s

我正在尝试使用json4s来解析和查询spark中的流。 我可以将流解析为org.apache.spark.streaming.dstream.DStream [org.json4s.JValue]。 但是当我尝试使用查询功能时,我似乎无法使用“\\”进行浏览。

以下是我得到的错误。为什么会这样?

 [info] Compiling 1 Scala source to /home/../target/scala-2.10/classes...
 [error] /home/../src/main/test.scala:90: value \\ is not a member of org.apache.spark.streaming.dstream.DStream[org.json4s.JValue]
 [error]    JArray(ips) <- jsValue \\ "ips"

这是我的scala代码

val jsValue1 = for {
JArray(ips) <- jsValue \\ "ips"
JObject(ip) <- ips
JField("ipaddress", JString(ipaddress))<- ip
}yield ipaddress

我正在使用json4s.native

import org.json4s._
import org.json4s.native.JsonParser
import org.json4s.native.JsonMethods._

当我在下面执行时,我得到:value \\不是org.apache.spark.rdd.RDD [org.json4s.JValue]的成员

messages.foreachRDD { rdd =>
val jsValue = rdd.map{ case (v,_) => implicit val formats = DefaultFormats; JsonParser.parse(v)}
val jsValue1 = for {
JArray(ips) <- jsValue \\ "ips"
JObject(ip) <- ips
JField("ipaddress", JString(ipaddress)) <- ip
}yield ipaddress}

提前感谢您的帮助!

0 个答案:

没有答案