我正在研究一个正在接受JSON消息并需要解析它的Spark Streaming应用程序。它有两部分,但部分JSON解析在测试时似乎是更大的开销。有什么办法可以优化吗?优化Scala JSON解析
import scala.util.parsing.json.JSON
val parsed = JSON.parseFull(formatted)
val subject = parsed.flatMap(_.asInstanceOf[Map[String, String]].get("subject")).toString.drop(5).dropRight(1)
val predicate = parsed.flatMap(_.asInstanceOf[Map[String, String]].get("predicate")).toString.drop(5).dropRight(1)
val obj = parsed.flatMap(_.asInstanceOf[Map[String, String]].get("object")).toString.drop(5).dropRight(1)
val label = parsed.flatMap(_.asInstanceOf[Map[String, String]].get("label")).toString.drop(5).dropRight(1)
val url = "http://" + elasticAddress.value + "/data/quad/"
val urlEncoded = java.net.URLEncoder.encode(label + subject + predicate + obj, "utf-8")
parsed.flatMap(_ asInstanceOf [地图[字符串,字符串]]是越来越重复,可以计算和重复使用 – Samar
可以解析被重用,因为。?。 – theMadKing
是的,在应用地图后执行计算得到的值 – Samar