Как я могу получить последние добавленные данные в файле hdfs? - PullRequest
0 голосов
/ 29 мая 2018

У меня есть данные, поступающие с высокой скоростью в файл HDFS.У меня есть внешний стол улья построен на нем.Данные имеют столбец отметки времени и столбец типа int.Каждые 5 минут будет добавляться строка.

У меня есть программа JDBC, которая должна проверить эту последнюю добавленную строку, если значение столбца int превысило предел или нет.Я подумал, что просто напишу поисковый запрос для новой метки времени, извлечу строку и проверим ее значение в столбце int.Но он просматривает всю таблицу в поисках последней добавленной строки.

Я могу создать индекс для столбца метки времени.Есть ли другой способ восстановить недавно добавленные данные, чтобы производительность не снижалась?

1 Ответ

0 голосов
/ 29 мая 2018

Разделите вашу таблицу по дате (скажем, load_date), которую вы можете получить из поля отметки времени, используя функцию date().Конечно, вам также потребуется изменить процесс вставки новых данных или поместить их в правильное расположение load_date + выполнить alter table add partition для вашей внешней таблицы или восстановить разделы , если он загружает файлы непосредственно в расположение таблицы.Затем отфильтруйте по load_date + timestamp, чтобы получить последнюю запись.Он будет запрашивать только данные за последний день.

...