You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hive分区中按时间统计数组列内指定标签的总数?

Hive Task_Queue分区表统计查询修正

正确查询语句

SELECT 
    ds,
    COUNT(*) AS task_count
FROM 
    Task_Queue
WHERE 
    completed_time = 0
    AND item_id != 4662
    AND (
        array_contains(task_tags, 'secevent') 
        OR array_contains(task_tags, 'opsevent') 
        OR array_contains(task_tags, 'ide-event')
    )
GROUP BY 
    ds
ORDER BY 
    ds;

关键说明

  • 若task_tags为数组类型:使用array_contains是Hive判断数组包含指定元素的标准写法;如果task_tags是逗号分隔的字符串类型,可替换为正则匹配:
    AND task_tags RLIKE '(secevent|opsevent|ide-event)'
    
  • 显式添加item_id != 4662过滤条件,确保该不符合要求的记录被排除。
  • 按分区字段ds分组后,通过ORDER BY ds保证结果按时间顺序输出,满足时间趋势统计需求。
  • 原查询常见语法错误包括:数组包含判断用错函数、多条件逻辑运算符未加括号导致优先级混乱、遗漏目标过滤条件等。

内容的提问来源于stack exchange,提问作者thatoneguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 13:03:22