Улей: добавление строк в существующую таблицу

Я планирую использовать hadoop и hive для решения следующей проблемы:

У меня есть поток данных, например, форма (временная метка, температура), которые представляют измеренную температуру в заданной временной отметке. Мне нужно ежедневно вычислять некоторые агрегаты (например, max). Агрегаты должны вычисляться один раз в день (например, в полночь).

Я думал о загрузке данных так или иначе, чтобы убрать их, разбив их по дате. Однако есть одна проблема - данные в потоке не нужно заказывать по метке времени, я получаю задержанные записи: запись может прибыть даже на пару дней позже, чем нужно. В этом случае, генерируя обычные агрегаты, мне нужно также вычислить агрегаты для дня, содержащего эту метку времени.

Интуитивно, я хотел бы добавить позднюю запись в соответствующий раздел в таблице hive. Можно ли это сделать без перезагрузки всего раздела? (и это дорогостоящая операция для перезагрузки раздела?)

1 ответ

Я не думаю, что в настоящий момент возможно добавить запись в раздел (или таблицу, если на то пошло), поэтому вам придется сортировать записи перед загрузкой раздела в таблицу - выглядит так: двухфазный процесс для меня.

Я считаю, что вы, однако, можете перезаписать раздел, так что по крайней мере вы можете обрабатывать измененный раздел.

На данный момент, по крайней мере, улей представляет собой систему, ориентированную на пакет.

licensed under cc by-sa 3.0 with attribution.