Hive提取JSON字符串内的指定字段名的值

hive提取json字符串内的指定字段名的值

在这里插入图片描述

如上图所示test表内,info列的值为一个json字符串,利用什么方法可以直接 取出其中time 的值。
除 自定义UDF函数外,这里提供两种简单的方法。

get_json_object

get_json_object 函数可以按照JSON字符串内的字段名取值:

select get_json_object(info,'$.time') from test

json_tuple

可以达到相同的功能,区别在于 get_json_object 一次只能去一个字段名的值, json_tuple 则可以一次指定多个字段名进行取值,官方推荐使用 json_tuple ,因为效率高

select  json_tuple(info,"time") from test
//也可以一次性指定多个字段名,例如:
select  json_tuple(info,"id","time") from test

版权声明:本文为giantleech原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。