spark 读取json文件并分析

本文主要介绍如何通过读取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.Serialization
object 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)})
	}
}

下面是运行截图:


关于具体的json和对象在scala中如何进行转换的,请参考:
http://blog.csdn.net/wild46cat/article/details/54171973
http://blog.csdn.net/wild46cat/article/details/54172098
里面有详细的json4s的使用介绍,再次不在赘述。
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:26 天前 )
960b763e 3 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐