Присоединение к более чем 2 потокам во Flink и применение CEP к более чем 2 потокам без присоединения к ним

Вопрос № 1. Я работаю над ситуацией, когда нам нужно объединить данные от нескольких датчиков [например, 8 датчиков] и объединить их в древовидную форму. Например, объединение [s1, s2, s3 s4] для формирования потока A, а затем [s5, s6, s7 и s8] для формирования потока B, а затем выполнение CEP для потоков A и B. Как я могу этого добиться?

Вопрос № 2: Можно ли выполнять CEP для нескольких потоков, т.е. более одного потока? Это четко указано в flink 1.3.2 API этот шаблон будет применен к одному потоку

DataStream<Event> input = ...
Pattern<Event, ?> pattern = ...

PatternStream<Event> patternStream = CEP.pattern(input, pattern);

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

  • единственное решение - объединение дымового и временного потока на основе некоторого ключа, такого как временная метка?

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


person Amarjit Dhillon    schedule 29.10.2017    source источник


Ответы (1)


Это зависит от того, как вы читаете данные с датчиков, если данные поступают по разным темам кафки, вы можете создать 2 задания flink.

Задание 1 - считывает из тем сенсора s1, s2, s3, s4 и создает поток A, а затем другой kafkaconsumer читает из s5, s6, s7, s8 и создает поток B. Затем вы отправляете данные из этих 2 потоков в 2 промежуточные темы. -> streamA, streamB

Задание 2 - теперь задание 2 читает из тем kafka streamA и streamB вместе и создает единый поток данных.

Помните, что при этом для получения точных результатов следует полагаться на время события данных вашего датчика, а не на время приема или обработки.

После объединения двух потоков запустить CEP не так сложно, как видно из предыдущего вопроса - Обработка нескольких потоков во Flink CEP

person Biplob Biswas    schedule 30.10.2017