我的json数据在json\表和列中是这样的:json\ col
{
"href": "example.com",
"Hosts": {
"cluster_name": "test",
"host_name": "test.iabc.com"
},
"metrics": {
"cpu": {
"cpu_user": [
[
0.7,
1499795941
],
[
0.3,
1499795951
]
]
}
}
}
我想用下面的格式把这个数据放到一个表中
+-------------+-------+------------+
| metric_type | value | timestamp |
+-------------+-------+------------+
| cpu_user | 0.7 | 1499795941 |
+-------------+-------+------------+
| cpu_user | 0.3 | 1499795951 |
+-------------+-------+------------+
我尝试使用get\u json\u object获取值
select get_json_object(json_col,'$.metrics.cpu.cpu_user[1]') from json_table
,这给了我
[0.3,1499795951]
如何从这里使用explode函数来获得所需的输出?
2条答案
按热度按时间nwo49xxi1#
您还可以基于json数据实现serde和inputformat接口,而不是使用udf。
以下是一些参考:
http://blog.cloudera.com/blog/2012/12/how-to-use-a-serde-in-apache-hive/httpshttp://github.com/xjtuzxh/inceptor-inputformat
bhmjp9jg2#