怎么把json文件中的相同name的数据整合起来
发布网友
发布时间:2022-04-25 17:20
我来回答
共1个回答
热心网友
时间:2022-04-22 22:53
本文主要介绍如何通过读取json文件到spark中然后进行分析。
本文阅读前提:
1、能够正常的跑起来spark
2、有一定的scala语言知识
3、了解json4s的基本功能和用法(http://blog.csdn.net/wild46cat/article/details/54171973和http://blog.csdn.net/wild46cat/article/details/54172098)
好,下面上货。
首先是json文件
{"name":"jack","age":12}{"name":"lili","age":22}{"name":"cc","age":11}{"name":"vv","age":13}{"name":"lee","age":14}
然后是读取json文件并且解析成对象的scala程序
import
org.json4s._import
org.json4s.jackson.JsonMethods._import
org.json4s.jackson.Serializationobject
CC{
case
class
Person(name:String,age:Int)
def
my(){
implicit
val
formats
=
Serialization.formats(ShortTypeHints(List()))
val
input
=
sc.textFile("file:///home/user/sparktemp/testjson.json")
input.collect().foreach(x
=>
print(x
+
","))
println("
")
val
first
=
input.take(1)(0)
println(first)
println(first.getClass)
val
p
=
parse(first).extract[Person]
println(p.name)
println("==========")
input.collect().foreach(x
=>
{var
c
=
parse(x).extract[Person];println(c.name
+
","
+
c.age)})
}}
下面是运行截图: