解析的spark json流上的json4s查询

解析的spark json流上的json4s查询,json,apache-spark,spark-streaming,json4s,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/t

我正在尝试使用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"
当我执行以下操作时,我得到:value\\n不是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}
messages.foreachRDD{rdd=>
val jsValue=rdd.map{case(v,)=>implicit val formats=DefaultFormats;JsonParser.parse(v)}
val jsValue1=用于{

JArray(ips)您正在DSStream上迭代?我用JsonParser.parse()解析我的KafkaUtils.createDirectStream[String,String,StringDecoder,StringDecoder](ssc,kafkaParams,TopicSet)。我在末尾得到一个JObject(List(…)。foreachRDD=>映射来解析您的json呢?现在我得到:value\不是org.apache.spark.rdd.rdd的成员[org.json4s.JValue]您必须映射到该RDD(例如RDD[org.json4s.JValue])
import org.json4s._
import org.json4s.native.JsonParser
import org.json4s.native.JsonMethods._
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}