如何使用 hive 查询查找 hive json 数组字段的长度
Posted
技术标签:
【中文标题】如何使用 hive 查询查找 hive json 数组字段的长度【英文标题】:How to find the length of hive json array field using hive query 【发布时间】:2020-06-26 07:18:55 【问题描述】:"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;
【问题讨论】:
【参考方案1】:由于您正在查看 json 数组,您可以简单地执行 split
然后应用 size
以获得所需的结果。
select size(split(get_json_object(data,'$.keys'),',')) from <table name>;
【讨论】:
【参考方案2】:get_json_object
返回字符串。去掉方括号和split
得到数组,使用size
得到数组大小:
size(split(regexp_replace(get_json_object(node,'$.keys'),'\\[|\\]',''),'", '))
【讨论】:
以上是关于如何使用 hive 查询查找 hive json 数组字段的长度的主要内容,如果未能解决你的问题,请参考以下文章