三分钟带你解析Hive中的json字符串(详细!)

很多时候,我们会在解析hive的时候,见到json的身影,那么今天我们就来聊聊hive中是如何解析json数据的,分析如下:
创建json格式表:(我们的目的是为了解析json数据,所以就简单建一个表)

	create table t1(json string);

如果报错,参看上篇错误!
https://blog.csdn.net/Forever_ck/article/details/85055984
load一些数据如下:

load data local inpath '找到文件路径' into table t1;

三分钟带你解析Hive中的json字符串(详细!)_第1张图片

简单查询结果如下:
三分钟带你解析Hive中的json字符串(详细!)_第2张图片
取字段:(重点来了!)

第一种;取单个json字段: (get_json_object)

select get_json_object(json,'$.exam_id') from t1;

结果如下:
三分钟带你解析Hive中的json字符串(详细!)_第3张图片
注意:如果字段名称错误,不会报错,但结果会是 NULL;
三分钟带你解析Hive中的json字符串(详细!)_第4张图片
第二种:同时取多个字段:
三分钟带你解析Hive中的json字符串(详细!)_第5张图片
是不是觉得这种取多个字段的方法比较low,来看取多个字段的另一种方法:
(json_tuple)语句如下:
三分钟带你解析Hive中的json字符串(详细!)_第6张图片
注意:这里已经没有$.了,再来看一下如果不去掉的结果:
三分钟带你解析Hive中的json字符串(详细!)_第7张图片

你可能感兴趣的:(Hive)