get_json_object与json_tuple 的解析

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

get_json_object

官网:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-get_json_object

他会有一些注意:
在这里插入图片描述

json_tuple

官网:https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=69408918#Home(Copy)-json_tuple
在这里插入图片描述

举例实现以下:

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

{{"a":1,"b":2},{"a":3,"b":4},{"a":5,"b":6},{"a":7,"b":8}}

get_json_object

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

select get_json_object(meta,’ . a ′ ) a s f i l t e r t y p e , g e t j s o n o b j e c t ( m e t a , ′ .a') as filtertype ,get_json_object(meta,' .a)asfiltertype,getjsonobject(meta,.b’)as filtersubtype
from test_table

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

filtertype  filtersubtype
1					2

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

select b.a 
,b.b
from test_table a
lateral view json_tuple(meta,'a', 'b', ) b as  
a, b; 

运行结果:

filtertype  filtersubtype
1					2
3					4
5                   6
7                   8

最后:

这里都可以根据自行的需要做自定义函数
更为方便和简单在处理数据方面

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐