Arrays 如何使用配置单元查询查找配置单元json数组字段的长度

Arrays 如何使用配置单元查询查找配置单元json数组字段的长度,arrays,json,hive,hiveql,hive-query,Arrays,Json,Hive,Hiveql,Hive Query,这是hive JSON的关键之一。我想找到“keys”字段的长度。我正在使用get\u JSON\u object()方法读取JSON 我就是这样做的,但会出错: "keys": [ "2324", "abc"] get\u json\u对象返回字符串。移除方括号和拆分获取数组,使用大小获取数组大小: select count(*) from table_name where json_array_length(get_json_o

这是hive JSON的关键之一。我想找到
“keys”
字段的长度。我正在使用
get\u JSON\u object()
方法读取JSON

我就是这样做的,但会出错:

"keys": [ "2324", "abc"] 

get\u json\u对象
返回字符串。移除方括号和
拆分
获取数组,使用
大小
获取数组大小:

select count(*) from table_name where json_array_length(get_json_object(node,'$.keys'))=2;

get\u json\u对象
返回字符串。移除方括号和
拆分
获取数组,使用
大小
获取数组大小:

select count(*) from table_name where json_array_length(get_json_object(node,'$.keys'))=2;

由于您正在查看json数组,因此只需执行
拆分
,然后应用
大小
,即可获得所需的结果

size(split(regexp_replace(get_json_object(node,'$.keys'),'\\[|\\]',''),'", '))
从中选择大小(拆分(获取对象(数据,$.keys'),',');

由于您正在查看json数组,您只需执行
拆分
,然后应用
大小
即可获得所需的结果

size(split(regexp_replace(get_json_object(node,'$.keys'),'\\[|\\]',''),'", '))
从中选择大小(拆分(获取对象(数据,$.keys'),',');