hadoop - 黑斑羚 : Running sum of 1 hour

标签 hadoop hive hql impala

我想在 1 小时内统计每个 ID 的记录。我尝试了一些 IMPALA 查询,但没有任何运气。

我有如下输入数据:

enter image description here

预期的输出是:

enter image description here

我试过了:

select
      concat(month,'/',day,'/',year,' ',hour,':',minute) time, id,
     count(1) over(partition by id order by concat(month,'/',day,'/',year,' ',hour,':',minute) range between '1 hour' PRECEDING AND CURRENT ROW) request
       from rt_request
       where
    concat(year,month,day,hour) >= '2019020318' 
group by id, concat(month,'/',day,'/',year,' ',hour,':',minute)

但是我遇到了异常。

RANGE 仅支持下限和上限 UNBOUNDED 或一个 UNBOUNDED 和另一个 CURRENT ROW。

如有任何建议/帮助,我们将不胜感激。 提前致谢!

最佳答案

我认为您正在寻找给定 ID 在几天内同一小时内的计数。您可以简单地使用 row_number 来执行此操作。

select time,id,row_number() over(partition by id,hour order by concat(month,'/',day,'/',year,' ',hour,':',minute)) as total
from tbl

关于hadoop - 黑斑羚 : Running sum of 1 hour,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54529840/

相关文章:

hibernate - Hibernate HQL:两个级别的联接

hadoop - Mac的Hadoop 2.4安装:文件配置

hadoop - 无法启动master和slave,日志中出现名为 "bogon"的奇怪东西

apache - 扩展自定义 Apache Knox 服务以查询多个 HBase 表

hadoop - 可以使用XML创建Hive表,但查询时出现错误

r - R 如何使用 RJDBC 连接到 Hive?

hadoop - Flink 转换为 parquet 错误

csv - 无法在 hive 中转换列

java.lang.IllegalArgumentException : No positional parameters in query: update SysUser set deleted = :deleted where id = :id

java - 我需要在 hibernate 中的多态查询中查询两次吗?