"keys": [ "2324", "abc"]
这是 Hive JSON 的关键之一。我想找到"keys"
字段的长度。我正在使用get_json_object()
方法读取 JSON。
这是我正在做的,但得到错误的方式:
select count(*) from table_name where json_array_length(get_json_object(node,'$.keys'))=2;
"keys": [ "2324", "abc"]
这是 Hive JSON 的关键之一。我想找到"keys"
字段的长度。我正在使用get_json_object()
方法读取 JSON。
这是我正在做的,但得到错误的方式:
select count(*) from table_name where json_array_length(get_json_object(node,'$.keys'))=2;
get_json_object
返回字符串。删除方括号并split
获取数组,用于size
获取数组大小:
size(split(regexp_replace(get_json_object(node,'$.keys'),'\\[|\\]',''),'", '))
由于您正在查看 json 数组,因此您可以简单地执行 asplit
然后应用size
来获得所需的结果。
select size(split(get_json_object(data,'$.keys'),',')) from <table name>;