Spark處理json數組fastjson


json數據格式:

[{"studentName":"lily","studentAge":12},{"studentName":"lucy","studentAge":15}]

pom:

<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.44</version>
</dependency>

val conf = new SparkConf().setMaster("local").setAppName("json test")
val sc = new SparkContext(conf)
val textFile = sc.textFile("f:/data/*.txt")
textFile.map(JSON.parseArray) //解析為json數組
.flatMap(_.toArray)  //json數組轉為java數組,通過flatmap拉平
.map(_.asInstanceOf[JSONObject])  //把每個對象轉成jsonobject
.map(x => (x.getString("studentName"), (x.getInteger("studentAge"), 1)))  //通過jsonobject的方法處理數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM