hive - 解析 json
内置函数:get_json_object(json串,解析路径)
解析路径说明:
$ :跟对象
. :子对象
[] :数组下标
* :所有
举例:
数据样例:
{"movie":"1190","rate":"4.8","timestamp":"978300760","uid":"145325"}
{"movie":"1191","rate":"3.7","timestamp":"978200613","uid":"234566"}
{"movie":"1190","rate":"4.5","timestamp":"977500902","uid":"474532"}
...
将数据导入hive:
create table rating(line string);#建表,只有一列数据 load data local inpath '/user/rating.json' into table rating;#从本地导数据
1)求评分次数排名前3的电影
SELECT get_json_object(t.line, '$.movie') as movieid, count(*) as tatol FROM rating t GROUP BY 1 ORDER BY 2 LIMIT 3;
- t.line是要解析的json串,
- $定位到第一级目录{
- .定位到第二级目录"movie":"1190","rate":"4.8","timestamp":"978300760","uid":"145325"
- movie:通过key定位到value值1190
2)将整个json文件解析成一张表
1)建一个用于存放数据的表
create table rate(movie int,rate float,time bigint,uid bigint);
2)解析并加载数据
insert into table rate select get_json_object(t.line, '$.movie') as movie, get_json_object(t.line, '$.rate') as rate, get_json_object(t.line, '$.timestamp') as time, get_json_object(t.line, '$.uid') as uid FROM rating t;
3)解析较复杂json
{
"status": 0,
"data": {"search_data":[{
"name": "奈良市",
"location": {
"lat": 34.685087
}]
}
1-解析status
get_json_object(t.line, '$.status');
2-解析name
get_json_object(t.line, '$.data.search_data.[0].name');
3-解析lat
get_json_object(t.line, '$.data.search_data.[0].location.lat');
hive - 解析 json相关推荐
- 学会Hive解析Json数组
在Hive中会有很多数据是用Json格式来存储的,如开发人员对APP上的页面进行埋点时,会将多个字段存放在一个json数组中,因此数据平台调用数据时,要对埋点数据进行解析.接下来就聊聊Hive中是如何 ...
- Hive解析Json数组超全讲解
在Hive中会有很多数据是用Json格式来存储的,如开发人员对APP上的页面进行埋点时,会将多个字段存放在一个json数组中,因此数据平台调用数据时,要对埋点数据进行解析.接下来就聊聊Hive中是如何 ...
- hive解析json
-- json数据 {"OTHER_INFO":{"MOBILE_ADDR":"四川省内江市潘咱陛路1233号闷羞小区19单元484室",& ...
- Hive解析json字段,虽然json_tuple写法很优雅,但是效率并不一定高哦
在写Hive SQL时,需要从一个json列中解析出多个key的信息,查阅资料发现到有两种写法,一种是get_json_object,另外一种是json_tuple.两种用法的示例如下所示 get_j ...
- Hive解析Json格式用户日志
解析json格式数据 Json数据 HIVE SQL解析 第一种方式 第二种方式 第三种方式 string类型的数组形式的行转列拆分 Json数据 第一次写博客,mark一下 --20191025 下 ...
- hive解析json数组
前言 解析如下数组 获取app_name和 app_type 字段 [{"app_name":"Kloningponsel","app_type&qu ...
- hive 解析json字符串
例如字段 str_a {'SID':'JDC-XSZ-HHS001','SFZH':'914102257258165412'} 这种是标准的一个json. select get_json_object ...
- Hive之解析Json数组
目录 Hive自带的json解析函数 1.get_json_object函数 2.json_tuple函数 Hive解析json数组 一.嵌套子查询解析json数组 二.使用 lateral view ...
- hive处理json数据_(转)hive中解析json数组
hive中解析一般的json是很容易的,get_json_object就可以了. 但如果字段是json数组,比如 [{"bssid":"6C:59:40:21:05:C4 ...
最新文章
- eclipse中开发python
- 用鸽 计算机教案,科学活动教案:鸽子
- Lucene概述第一部分:创建索引
- Spring的XML解析原理,java接口流程图
- Altium Designer(九):DXF+DWG
- 【每日算法Day 66】经典面试题:不用四则运算如何做加法?
- SQL Server 2014 虚拟机的自动备份 (Resource Manager)
- flv格式怎么转换成mp4
- 星星之火-58:CPRI协议缺点,eCPRI协议是如何克服CPRI协议的不足?
- 惠普计算机电源怎么设置充电,HP笔记本的三芯电源怎么改二芯实现充电?
- 展现量、点击量、点击率;访客数、访问次数、浏览量的区别与作用
- 批量压缩图片大小 – Caesium简体中文
- shell的正向和反向
- Web应用程序系统的多用户权限控制设计及实现-首页模块【5】
- intellij idea字体大小设置一秒完成
- Docker_Cgroup
- sketch如何做设计稿交互_Sketch交互设计入门到精通教程
- 在html插入数学公式,给WordPress的文章插入数学公式
- Leetcode Golang 77. Combinations.go
- 使用nexus私服下载和上传依赖
热门文章
- 【bzoj1738】[Usaco2005 mar]Ombrophobic Bovines 发抖的牛 Floyd+二分+网络流最大流
- 算法分类整理+模板①:矩阵快速幂
- 使用parted划分GPT分区(转)
- 事件冒泡控件示例(转载)
- 判断一个链表是否为循环单链表
- C 实现 删除字符串空白符的函数 strtrim
- 数据结构之并查集:并查集的介绍与Python代码实现——18
- pandas 读表格_pandas电子表格的读取(pandas中的read_excel)
- 怎么让车辆gps定位失效_如何更有效地检测车辆gps定位器?
- python socket 大文件_python:socket传输大文件示例