博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hive 中 json 字符串解析之 get_json_object 与 json_tuple
阅读量:4209 次
发布时间:2019-05-26

本文共 870 字,大约阅读时间需要 2 分钟。

在技术对app进行埋点时,会讲多个字段存放在一个数组中,因此模型调用数据时,要对埋点数据进行解析,以作进一步的清洗。本文将介绍解析json字符串的两个函数:get_json_object和json_tuple。

表结构如下:

其中meta 字段数据, 数据表是 test_table

{
{"a":1,"b":2},{"a":3,"b":4}}

get_json_object

函数的作用:用来解析json字符串的一个字段:

select get_json_object(meta,'$.a') as filtertype,get_json_object(meta,'$.b')as filtersubtype from  test_table

运行结果 仅有一条数据,其实应该是2条:

filtertype  filtersubtype1					2

json_tuple

函数的作用:用来解析json字符串中的多个字段

select b.a ,b.bfrom test_table alateral view json_tuple(meta,'a', 'b', ) b as  a, b;

运行结果:

filtertype  filtersubtype1					23					4

使用正则表达式对json 数据进行处理

对于上面的test_table 使用:

select get_json_object(B.stock_code,'$.a') as a,get_json_object(B.stock_code,'$.b') as b,from (	select split(regexp_replace(regexp_extract(meta	,'^\[(.+)\]$',1),'\\}\\,\\{', \'\}\\|\\|\\{''),'\\|\|') as stock_codes	from test_table) A lateral view explode(A.stock_codes) B as stock_code

转载地址:http://ndwmi.baihongyu.com/

你可能感兴趣的文章
JQuery 简介
查看>>
Java创建对象的方法
查看>>
Extjs自定义组件
查看>>
TreeGrid 异步加载节点
查看>>
Struts2 标签库讲解
查看>>
Google Web工具包 GWT
查看>>
材料与工程学科相关软件
查看>>
windows 下AdNDP 安装使用
查看>>
Project 2013项目管理教程(1):项目管理概述及预备
查看>>
ssh客户端后台运行
查看>>
哥去求职,才说了一句话考官就让我出去
查看>>
【React Native】把现代web科技带给移动开发者(一)
查看>>
【GoLang】Web工作方式
查看>>
Launch Sublime Text 3 from the command line
查看>>
【数据库之mysql】mysql的安装(一)
查看>>
【数据库之mysql】 mysql 入门教程(二)
查看>>
【HTML5/CSS/JS】A list of Font Awesome icons and their CSS content values(一)
查看>>
【HTML5/CSS/JS】<br>与<p>标签区别(二)
查看>>
【HTML5/CSS/JS】开发跨平台应用工具的选择(三)
查看>>
【心灵鸡汤】Give it five minutes不要让一个好主意随风而去
查看>>