hive中json字符串解析

hql中json字符串解析函数示例

第一次碰到json字符串多字段解析,mark一下

1、数据字段说明
在某活动的数据表中某param埋点字段如下,记录了活动的一些信息:

{“corner_mark”:“VIP”,“ad_tag”:“hdgg”}

2、函数 get_json_object——单字段解析
语法简单,为

get_json_object([name], ‘$.[param1]’)

sql示例:

select get_json_object(map_param, '$.ad_tag') as channel, 
count(distinct userid) 
from table_a 
where pt = '20190401' 
group by get_json_object(map_param, '$.ad_tag');

结果示例:

支付宝 100
短信 21

3、函数 json_tuple——多字段解析
本函数可以解析多字段值
语法为构建一个视图

lateral view json_tuple([name], ‘[param1]’, ‘[param2]’) [别名]

sql示例:

select a.ad_tag, a.corner_mark 
from talbe_a 
lateral view json_tuple(map_param, 'ad_tag', 'corner_mark') a 
as ad_tag, corner_mark 
where pt = '20190401' limit 2;

结果示例:

支付宝 VIP
微信 VIP

你可能感兴趣的:(hive)