代码中使用 import scala.util.parsing.json.JSON
val inpath="hdfs://node01:8020/tmp/InternationalData_source/InternationalData.IBRD_Value.json"
val lines: RDD[Option[Any]] = jsonStr.map(one_line => JSON.parseFull(one_line))
val pre_rdd = lines.map {
r =>
r match { //这块出的问题
case Some(maps: Map[String, Any]) => {
val my_map: HashMap[String, String] = new HashMap[String, String]()
maps.foreach(t => {
my_map += (t._1 -> t._2.toString.replace("\n", ""))
})
my_map("_id") = my_map("_id").substring(12, 36)
(scala.util.Random.nextInt(200).toString + "_" + "IBRD_" + my_map("SourceCode"), my_map)
}
}
}
原因是json串非法
1.json串与串之间不应该有逗号
2.下面的连个框中,第一个的id格式不对