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

文章目录

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

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

你可能感兴趣的:(初学,json,hive)