Amazon Athena - запрос последних 5 минут записи (отметка времени 19 цифр) - PullRequest
0 голосов
/ 28 августа 2018

У меня есть таблица в Афинах, где у каждой записи есть отметка времени, например 1531699933974236880.

Таблица содержит большие объемы данных, и я хочу запрашивать только последние 5 минут записей на основе отметки времени.

Каким будет SQL-выражение для этого? Я пытался использовать dateADD и date_diff, но я не уверен, правильно ли я его использую или даже поддерживается ли он в Presto (механизм запросов SQL Athena).

Любая помощь будет отличной!

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Я бы настоятельно рекомендовал разбивать данные на основе отметки времени, чтобы вы могли использовать фильтр разделов в своем запросе для существенного повышения производительности.

Если у вас есть почасовые данные с разделами, то нужно обработать максимум два раздела (n и n -1). После этого вы можете использовать пример Гордона (вместе с фильтром разделов), чтобы написать запрос.

0 голосов
/ 28 августа 2018

Ваша метка времени выглядит как метка времени Unix в микросекундах. Это предполагает:

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

Ваша конкретная временная метка интерпретируется как «Понедельник, 16 июля 2018 г. 12:12:13», что представляется разумным.

...