所以我试图在Hive中编写一个查询,然后自动完成。我的想法是,我有一个表,显示带有名为updated的时间戳字段的Requests。因此,有很多行包含请求的日期和时间。无论何时运行查询,我都希望获得过去7天的请求。
我试过了:
SELECT col1, col2, col3, count(*) cnt FROM table WHERE updated BETWEEN date_sub(SELECT MAX(updated) AS maxdate FROM table, 7) AND SELECT MAX(updated) AS maxdate FROM table GROUP BY col1, col2, col3 HAVING cnt > 10
我已经看过这个了,好像它应该做我正在寻找的东西,但是我得到了:
ParseException line 4:79 cannot recognize input near 'select' 'max' '(' in function specification
对此错误或建议的不同方法的任何帮助都会很棒。
答案 0 :(得分:0)
如果列的数据类型"已更新&#34>,您可以尝试此查询吗?是所有表格中的数据时间:
SELECT col1, col2, col3, count(*) cnt
FROM table
WHERE updated BETWEEN (SELECT MAX(updated)-7 AS maxdate FROM table)
AND (SELECT MAX(updated) AS maxdate FROM table)
GROUP BY col1, col2, col3
HAVING count(*) > 10