spark 解析json檔案 並資料統計

2021-10-25 04:11:16 字數 1950 閱讀 6047

有資料檔案如下,資料資訊代表

selecct

from datardd

groupby region_code,gender

需求:假設資料為某一天的資料,同時沒有相同的人

1 統計【性別】、【不同地區】的最高工資

地區性別工資a

11000a2

2000b1

3000b2

4000c1

5000c2

6000……

…2 按最高工資排序,展示前n名地區

地區工資

c6000

b4000

a2000……

注意:【考慮可能發生的各種問題及效能優化】

用gsonutil解析json檔案

建立employee類裝資料

object sparkweekdemo ;

val sourcerdd: rdd[

string

]= sparkcontext.textfile(

"file:///d:/code/employee0824.json"

)//資料轉換

val datardd: rdd[employee]

= sourcerdd.map(

(data:

string

)=>

)val mapdf: rdd[

(string

,double)]

= datardd.map(

(data: employee)

=>

)val resultdf0 = mapdf.groupbykey(

).mapvalues(

(it: iterable[

double])

=>

)val resultdf1 = resultdf0.map(

(row)

=>

) resultdf1.foreach(

(data)

=>

gender=$ salary=$")}

) sparkcontext.stop()}

string

, topn:

int)

:unit=;

val sourcerdd: rdd[

string

]= sparkcontext.textfile(

"file:///d:/code/employee0824.json"

)//資料轉換

val datardd: rdd[employee]

= sourcerdd.map(

(data:

string

)=>

)val mapdf: rdd[

(string

,double)]

= datardd.map(

(data: employee)

=>

)val resultdf0 = mapdf.groupbykey(

).mapvalues(

(it: iterable[

double])

=>

)val resultdf1 = resultdf0.map(

(row)

=>

)val resultdf2 = resultdf1.sortby(

a => a._2,

false

)val resultdf3 = resultdf2.take(topn)

.foreach(

(a)=>

salary=$")}

) sparkcontext.stop()}

def main(args: array[

string])

:unit

=}

spark 讀取json檔案並分析

本文主要介紹如何通過讀取json檔案到spark中然後進行分析。1 能夠正常的跑起來spark 2 有一定的scala語言知識 3 了解json4s的基本功能和用法 和 好,下面上貨。首先是json檔案 然後是讀取json檔案並且解析成物件的scala程式 import org.json4s.imp...

Spark解析Json案例

最近常常和json打交道,記錄一下spark解析json案例,資料有點長 roadinters formatted address 浙江省杭州市江乾區白楊街道浙江育英職業技術學院繼續教育分院浙江育英職業技術學院 addresscomponent country 中國 township 白楊街道 bu...

spark解析巢狀JSON陣列

資料是帶有時間戳的json陣列 資料格式 1610352196000 data data 讀取 val tmp sc.textfile in test json.log tmp.foreach println 列印資料 json陣列可根據 n timeserver n timeserver n ti...