Amazon Athena-查询记录的最后5分钟(时间戳19位)

时间:2018-08-27 21:36:44

标签: sql database epoch amazon-athena presto

我在雅典娜有一张桌子,每个记录都有一个像1531699933974236880这样的时间戳。

该表中有大量数据,我只想根据时间戳查询记录的最后5分钟。

为此,SQL语句将是什么?我曾尝试使用dateADDdate_diff,但不确定是否正确使用它,或者Presto(雅典娜的SQL查询引擎)是否支持它。

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:0)

您的时间戳看起来像Unix时间戳(以微秒为单位)。这表明:

select t.*
from t
where timestamp > (select max(timestamp) from t) - 5*60*1000000;

您的特定时间戳被解释为“ 2018年7月16日星期一12:12:13 AM”,这似乎是合理的。

答案 1 :(得分:0)

我强烈建议根据时间戳对数据进行分区,以便您可以在查询中使用分区过滤器来大大提高性能。

如果您有按小时划分的数据,则最多需要处理两个分区(n和n -1)。之后,您可以使用Gordon的示例(以及分区过滤器)来编写查询。