最近常常和json打交道,記錄一下spark解析json案例,資料有點長
,,
],"roadinters":[
],"formatted_address"
:"浙江省杭州市江乾區白楊街道浙江育英職業技術學院繼續教育分院浙江育英職業技術學院","addresscomponent":,"country"
:"中國","township"
:"白楊街道","businessareas":[
,],"building":,"neighborhood":,"citycode"
:"0571"
},"aois":[
],"pois":[
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
]},"info"
:"ok","infocode"
:"10000"
}
用了三種資料結構,就是想看看有什麼運算元的用法區別,然而其實本質上都是map形式的並沒什麼區別
package com
import com.alibaba.fastjson.
import org.apache.spark.rdd.rdd
import org.apache.spark.
/** 需求:
* json資料歸納格式(考慮獲取到資料的成功因素 status=1成功 starts=0 失敗):
* 1、按照pois,分類businessarea,並統計每個businessarea的總數。
* 2、按照pois,分類type,為每乙個type型別打上標籤,統計各標籤的數量
* 標籤結果格式(標籤名稱,count值)
* * @author 小羊羊成長之路
* @create 2019-12-06-13:58
*/object test
)//快取 多次復用
file.
cache()
/** * 1、按照pois,分類businessarea,並統計每個businessarea的總數。
** 先讀取每行pois(pois屬於regeocode下),再找出對應的businessarea,每條標記1
*/file.
map(rdd =
>).
filter
(map=
>).
sortby
(_._2,
false,1
).foreach
(println)
/** * 2.按照pois,分類type,為每乙個type型別打上標籤,統計各標籤的數量
* * 標籤結果格式(標籤名稱,count值)
*/file.
map(rdd =
>
else}}
(list,null)})
.flatmap
(_._1)
.reducebykey
(_+_)
.sortby
(_._2.toint,
false,1
).foreach
(println)
}}
spark解析巢狀JSON陣列
資料是帶有時間戳的json陣列 資料格式 1610352196000 data data 讀取 val tmp sc.textfile in test json.log tmp.foreach println 列印資料 json陣列可根據 n timeserver n timeserver n ti...
spark 解析json檔案 並資料統計
有資料檔案如下,資料資訊代表 selecct from datardd groupby region code,gender需求 假設資料為某一天的資料,同時沒有相同的人 1 統計 性別 不同地區 的最高工資 地區性別工資a 11000a2 2000b1 3000b2 4000c1 5000c2 6...
Python3 JSON 資料解析及案例
python3 中可以使用 json 模組來對 json 資料進行編譯碼,它包含了兩個函式 json.dumps 對資料進行編碼。json.loads 對資料進行解碼。python 編碼為 json 型別轉換對應表 json 解碼為 python 型別轉換對應表 json.dumps 與 json....