在 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
我们有一个不断填充更多数据的数据库,对于仪表板,我需要每秒显示平均项目(添加)(由下面查询中 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