Hive解析json格式資料

2021-09-25 10:56:32 字數 3100 閱讀 7958

本文將介紹兩個使用hive解析json的小demo

1.[hadoop@hadoop001 jsondata]$ more rating.json 

.......很多資料.....

hive (hwzhdb)> create table parsejson(

> jsondata string

> );

oktime taken: 0.146 seconds

hive (hwzhdb)> load data local inpath '/home/hadoop/data/jsondata/rating.json' overwrite into table parsejson;

loading data to table hwzhdb.parsejson

table hwzhdb.parsejson stats: [numfiles=1, numrows=0, totalsize=63602280, rawdatasize=0]

oktime taken: 1.3 seconds

hive (hwzhdb)> select * from parsejson limit 10;

okparsejson.jsondata

time taken: 0.075 seconds, fetched: 10 row(s)

##使用json_tuple解析json資料,裡面的引數填寫json原資料的key,as別名是固定寫法,此時取出來的都是實際的字段,並且都為string型別的

hive (hwzhdb)> select json_tuple(jsondata,'movie','rate','time','userid') as (movieid,rate,time,userid)

> from parsejson limit 10;

okmovieid rate time userid

1193 5 978300760 1

661 3 978302109 1

914 3 978301968 1

3408 4 978300275 1

2355 5 978824291 1

1197 3 978302268 1

1287 5 978302039 1

2804 5 978300719 1

594 4 978302268 1

919 4 978301368 1

2.parse_url_tuple函式,乙個解析ip位址的小demo

[hadoop@hadoop001 jsondata]$ cat ipdata.txt --兩條資料

##建立新錶,然後將原表資料插入新錶中

HIVE解析json格式資料

id conditions 312 313 第一步 我們可以看到conditions欄位下的json格式資料,是json串裡面套著類似於list結構,我們先取出。get json object conditions,diyitems 取出之後資料是這樣的 第二步 我們把list結構中每個元素拿出來形...

Hive解析json格式字段

新建hive表 create external table asmp.json test id string,info string row format delimited fields terminated by t lines terminated by n location hdfs nam...

Hive 解析複雜json格式字段

本篇文章中所使用的方法來自部落格hive中的lateral view 與 explode函式的使用,感謝大佬的分享。一.問題背景 資料來源hive資料表結構如下 其中info欄位的資料型別為string格式的複雜json結構,例如 需求現在需要統計每個id 中info欄位所對應的使用者數量,而最關鍵...