首页 > hive函数 get_json_object的使用

hive函数 get_json_object的使用

hive提供了json的解析函数:get_json_object

 

使用方法

对于jsonArray(json数组),如person表的xjson字段有数据:

[{"name":"王二狗","sex":"男","age":"25"},{"name":"李狗嗨","sex":"男","age":"47"}]

取出第一个json对象,那么hive sql为:

SELECT get_json_object(xjson,"$.[0]") FROM person;

 结果是:

{"name":"王二狗","sex":"男","age":"25"}

取出第一个json的age字段的值:

SELECT get_json_object(xjson,"$.[0].age") FROM person;

结果

25

 

总结

get_json_object(param1,"$.param2")

 

param1:需要解析的json字段

param2:遇到数组就用 [0,1,2...] 0,1,2是数组对应的元素,遇到jsonObject直接用 ".key"取出想要获取的value。

转载于:https://www.cnblogs.com/drjava/p/10486134.html

更多相关:

  • 下面是我依据网上资料的实操过程,记录以作备忘。该示例给出了https通信并处理json文件的例子。 平台:Ubuntu 16.04.3 LTS go版本:1.10 1.生成自签名的服务器端的私钥KEY和公钥证书 openssl genrsa -out server.key 2048 openssl req -new -x509 -ke...

  • 1、判断json是否为空 jQuery.isEmptyObject(); 2、遍历json function getHsonLength(json{var jsonLength=0;for (var i in json){jsonLength++;}return jsonLength;} 转载于:https...

  • 简单示例: import request from 'superagent';//引用声明 request.post(api).withCredentials()//跨域.end((err, res) => {if (res.ok) {const json = JSON.parse(res.text);} else {console...

  • 在使用C#开发爬虫程序时,会遇到需要解析json字符串的情况。对于json字符串可以使用正则表达式的形式进行解析,更为方便的方法是使用Newtonsoft.Json来实现。 Nuget添加应用包 在工程上右键——【管理Nuget程序包】浏览找到要安装的程序包Newtonsoft.Json使用 引用using Newtonsoft...

  •     MongoDB update修改器: $inc $set $unset $push $pull $pop   针对Fields的$修改器 $set:   { $set: { key: value } }       $set:{"gender":"男"} 解释: $set 是update时的关键字,表示我要设置gender...

  •   成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户 use :切换当前数据库,这和MS-...

  • http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html   mongoDB 入门指南、示例 上一篇:简单介绍mongoDB   一、准备工作 1、 下载mongoDB 下载地址:http://www.mongodb.org/downloads 选择合适你的版本 相关文...

  • people = {:fred => 23,:joan => 18,:pete => 54 }  年龄排序: people.values.sort # => [18, 23, 54] 姓名排序: people.sort_by { |name, age| age }# => [[:joan, 18], [:fred,...

  • 下面介绍在Linux上利用python获取本机ip的方法. 经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码: #!/usr/bin/env python #encoding: utf-8 #description: get local...

  • python 2.7.6urllib:发送报文并得到responseBeautifulSoup:解析报文的body(html)#encoding=UTF-8 from bs4 import BeautifulSoup from urllib import urlopen import urlliblist_no_results=[]...