Как получить агрегированные данные за определенный день в потоковой передаче со структурированной структурой искры

У меня есть одна искровая структурированная паровая задача, которая читает потоки из kafka и записывает вывод в HDFS. Моя проблема в том, что мне нужны агрегированные результаты за весь день до определенного времени. Поскольку структурированная потоковая передача искр не поддерживает режим завершения / обновления, есть ли способ добиться того же?

если я получаю данные в 10.00, мне нужен агрегированный результат до 10.00 для текущей даты ...

может кто-нибудь помочь, как добиться того же?


person BigD    schedule 19.01.2019    source источник


Ответы (1)


Я не уверен, что понимаю точную специфику ситуации, но позвольте мне попытаться ответить.

Я бы порекомендовал выполнить двухэтапный процесс:

  1. Потоковая передача Spark сохраняет мини-пакеты во временную папку формата:

/yyy-mm-dd/<offset from the day start>.parquet

2019-02-06/100000.parquet, 2019-02-06/200000.parquet

  1. Другое искровое задание читает из соответствующего места и выполняет агрегирование и фильтрацию по времени.

Для управления ими вы можете использовать такую ​​библиотеку, как luigi.

person Vlad Vlaskin    schedule 09.02.2019