Как получить агрегированные данные за определенный день в потоковой передаче с искрой - PullRequest
0 голосов
/ 19 января 2019

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

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

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

1 Ответ

0 голосов
/ 09 февраля 2019

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

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

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

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

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

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

Вы можете использовать библиотеку наподобие luigi для управления ими.

...