在 Impala/Hive SQL 中查询过去 12 小时的平均每秒项目数? (我已经有部分查询)

Query to get average items per second for the last 12 hours, in Impala/Hive SQL? (I have partial queries already)

我们有一个不断填充更多数据的数据库,对于仪表板,我需要每秒显示平均项目(添加)(由下面查询中 msg_num 的 COUNT 给出),因为在过去的 12 小时内每小时。我还有两个基本查询 运行 成功,所以需要以某种方式合并它们:

过去 12 小时每小时的项目数:

SELECT DATE_TRUNC('HOUR', concat(replace(timestamp,'"',''), "Z")) AS hours, COUNT(msg_num)
FROM mydb.mytable
WHERE unix_timestamp(timestamp) > (unix_timestamp(now()) - 43200)
GROUP BY 1
ORDER BY 1 ASC
LIMIT 12

过去一小时内每秒的项目数:

SELECT DATE_TRUNC('SECOND', concat(replace(timestamp,'"',''), "Z")) AS seconds, COUNT(msg_num)
FROM mydb.mytable
WHERE unix_timestamp(timestamp) > (unix_timestamp(now()) - 3600)
GROUP BY 1
ORDER BY 1 ASC
LIMIT 3600

那么什么查询会给我过去 12 小时内每小时的平均项目数?

谢谢

我认为一个小时内每秒的平均项目数是每小时的总项目数除以 3600 (60 * 60):

SELECT DATE_TRUNC('HOUR', concat(replace(timestamp,'"',''), "Z")) AS hours,
       COUNT(msg_num) / 3600 as avg_items_per_second
FROM mydb.mytable
WHERE unix_timestamp(timestamp) > (unix_timestamp(now()) - 43200)
GROUP BY 1
ORDER BY 1 ASC

限制 12