Apache Flink, относящиеся / параметры кэширования данных - PullRequest
0 голосов
/ 11 апреля 2020

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

Сценарий таков, данные, собранные с различного оборудования, данные принимаются в виде JSON кодированной строки в формате {«location.attribute»: значение, «TimeStamp»: значение}

Например, для местоположения принимается унитарный код прослеживаемости, после которого различные параметры процесса принимаются в режиме реального времени. Анализ должен выполняться по параметрам процесса, однако выходные данные должны включать отношение к коду отслеживаемости. Например, {«location.alarm»: значение, «location.traceability»: значение, «TimeStamp»: значение}

Какой метод использует Flink для кэширования значений, в данном случае текущий код отслеживаемости во время выполнения анализа по другим параметрам, полученным позже?

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

1 Ответ

1 голос
/ 11 апреля 2020

Естественным способом сделать такое с Flink было бы набрать поток по местоположению, а затем использовать состояние ключа в ProcessFunction (или RichFlatMapFunction), чтобы сохранить частичные результаты до готовности к генерации output.

При использовании потока с ключом вам гарантировано, что каждое событие с тем же ключом будет обрабатываться одним и тем же экземпляром. Затем вы можете использовать состояние ключа , которое фактически является хранилищем ключа / значения, для хранения информации по каждому ключу.

Apache Обучение Flink включает в себя некоторые Пояснительный материал по потокам с ключами и , работающим с состоянием ключа , а также упражнение или два , в которых рассматривается, как использовать эти механизмы для делайте примерно то, что вам нужно.

В качестве альтернативы, вы можете сделать это с помощью Table или SQL API и реализовать это как соединение потока с самим собой.

...