如何使用配置单元查询查找配置单元 json 数组字段的长度
How to find the length of hive json array field using hive query
"keys": [ "2324", "abc"]
这是配置单元的键之一 JSON。我想找到 "keys"
字段的长度。我正在使用 get_json_object()
方法阅读 JSON。
这是我正在做的但出现错误的方法:
select count(*) from table_name where json_array_length(get_json_object(node,'$.keys'))=2;
get_json_object
returns 字符串。去掉方括号和split
得到数组,用size
得到数组大小:
size(split(regexp_replace(get_json_object(node,'$.keys'),'\[|\]',''),'", '))
由于您正在查看 json 数组,您可以简单地执行 split
然后应用 size
以获得所需的结果。
select size(split(get_json_object(data,'$.keys'),',')) from <table name>;
"keys": [ "2324", "abc"]
这是配置单元的键之一 JSON。我想找到 "keys"
字段的长度。我正在使用 get_json_object()
方法阅读 JSON。
这是我正在做的但出现错误的方法:
select count(*) from table_name where json_array_length(get_json_object(node,'$.keys'))=2;
get_json_object
returns 字符串。去掉方括号和split
得到数组,用size
得到数组大小:
size(split(regexp_replace(get_json_object(node,'$.keys'),'\[|\]',''),'", '))
由于您正在查看 json 数组,您可以简单地执行 split
然后应用 size
以获得所需的结果。
select size(split(get_json_object(data,'$.keys'),',')) from <table name>;