HIVE中get_json_object与json_tuple使用
来源:互联网 发布:qq自动聊天软件 编辑:程序博客网 时间:2024/05/06 22:58
hive中提供了两种针对json数据格式解析的函数,即get_json_object(…)与json_tuple(…),理论不多说,直接上效果示意图:
假设存在如下json数据对象,若使用hive环境可这么设置:
set hivevar:msg={"message":"2015/12/08 09:14:4", "client": "10.108.24.253", "server": "passport.suning.com", "request": "POST /ids/needVerifyCode HTTP/1.1","server": "passport.sing.co","version":"1","timestamp":"2015-12-08T01:14:43.273Z","type":"B2C","center":"JSZC","system":"WAF","clientip":"192.168.61.4","host":"wafprdweb03","path":"/usr/local/logs/waf.error.log","redis":"192.168.24.46"}
- get_json_object函数
当使用get_json_object函数时,则可以这么用:
select get_json_object(‘${hivevar:msg}’,’$.server’) from test;
返回:
passport.sing.com
其中,get_json_object函数第一个参数填写json对象变量,第二个参数使用$表示json变量标识,然后用 . 或 [] 读取对象或数组;
- json_tuple函数
当使用json_tuple对象时,可以显著提高效率,一次获取多个对象并且可以被组合使用,写法如下:
select a.* from test lateral view json_tuple(‘${hivevar:msg}’,’server’,’host’) a as f1,f2;
返回:
passport.sing.com wafprdweb03
其中,需要使用lateral view 视图方法来写,不需要加$标示符读取对象,获取的f1,f2对象可用于array()或map()等函数使用
- 另附:parse_url函数使用案例
parse_url(‘http://facebook.com/path/p1.php?query=1‘, ‘HOST’)返回’facebook.com’ ,
parse_url(‘http://facebook.com/path/p1.php?query=1‘, ‘PATH’)返回’/path/p1.php’ ,
parse_url(‘http://facebook.com/path/p1.php?query=1‘, ‘QUERY’)返回’query=1’,
或,可以指定key来返回特定参数,key的格式是QUERY:,
例如:QUERY:k1
parse_url(‘http://facebook.com/path/p1.php?query=1#Ref‘, ‘REF’)返回’Ref’
parse_url(‘http://facebook.com/path/p1.php?query=1#Ref‘, ‘PROTOCOL’)返回’http’
- HIVE中get_json_object与json_tuple使用
- HIVE中get_json_object与json_tuple使用
- hive json-get_json_object和json_tuple
- hive sql 中lateral view explode/json_tuple的使用
- Hive使用json_tuple, posexplode 解析 json
- hive get_json_object udf
- HiveSQL-get_json_object
- Hive安装与使用
- Hive安装与使用
- Hive运行机制与使用
- hive中使用lzo
- hive中使用rcfile
- HIVE中row_number函数的描述与使用场景
- hive中合理使用union all与multi insert
- #hive#HIVE中使用python实现UDF
- hive中 join与where
- Hive与Hbase使用域
- Hive的安装与使用
- adb devices 出现??? no permissions 的解决方法
- 苹果自带高德地图搜索周边功能
- LeetCode(94) Binary Tree Inorder Traversal解题报告
- 成本中心和内部订单浅析
- Strictmode的使用
- HIVE中get_json_object与json_tuple使用
- 打造高性能应用服务器 4 tomcat 4 linux
- sphinx简介+全文索引
- myeclipse编译
- LoadRunner 技巧之 集合点设置
- iOS 一个控件内字符显示不同的字体,大小和颜色
- LeetCode 210 Course Schedule II
- Java笔记----数组合并
- 世界上第一个web页面