使用HiveQL解析嵌套JSON

使用HiveQL解析嵌套JSON,json,hive,hiveql,Json,Hive,Hiveql,我将以下嵌套的JSON格式数据存储为syslog,需要使用HiveQL进行查询并转换为CSV文件(用于显示图形): 我正在寻找的输出格式如下所示: name-1 time name-2 time name-3 time . . . // so on 我对Hive比较陌生,所以不确定应该如何解析这个JSON数据。 我试图摆弄横向视图和json_元组,但徒劳无功 任何帮助都是非常宝贵的 看看这个博客条目(),它描述了如何使用Brickhouse()中提供的JSON UDF 对于您的特定情况,您可能

我将以下嵌套的JSON格式数据存储为syslog,需要使用HiveQL进行查询并转换为CSV文件(用于显示图形):

我正在寻找的输出格式如下所示:

name-1 time
name-2 time
name-3 time
.
.
. // so on
我对Hive比较陌生,所以不确定应该如何解析这个JSON数据。 我试图摆弄横向视图和json_元组,但徒劳无功


任何帮助都是非常宝贵的

看看这个博客条目(),它描述了如何使用Brickhouse()中提供的JSON UDF

对于您的特定情况,您可能希望将其解析为映射,然后在映射上进行分解

SELECT key,
map_index( value, "time") as time_value
FROM my_table
LATERAL VIEW explode_map( from_json( json, 'map<map<string,string>>') ) kv1 as k, v;
选择键,
将索引(值,“时间”)映射为时间值
从我的桌子上
横向视图将kv1分解为k,v;

您可以使用
json serde
定义表并加载数据。详情如下。如果遇到任何问题,请尝试此操作并更新问题。
SELECT key,
map_index( value, "time") as time_value
FROM my_table
LATERAL VIEW explode_map( from_json( json, 'map<map<string,string>>') ) kv1 as k, v;