【问题标题】:How to find the length of hive json array field using hive query如何使用 hive 查询查找 hive json 数组字段的长度
【发布时间】: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;

【问题讨论】:

    标签: arrays json hive hiveql hive-query


    【解决方案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'),'\\[|\\]',''),'", '))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-26
        • 1970-01-01
        • 2013-11-26
        • 2014-05-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多