Использование сопоставления с образцом flink-cep без всякой среды Flink

Как и в заголовке: возможно ли использовать только сопоставление с образцом мерцания без всякой другой среды мерцания?

2 ответа

Решение

Библиотека CEP Flink не предназначена для использования за пределами Flink, поэтому она невозможна из коробки.

Однако лежащий в основе автомат не зависит от кода Flink, поэтому вы можете извлечь его самостоятельно. Интересные занятия будут NFA а также NFACompiler,

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

  1. В случае, если у вас есть проблемы с памятью, вы можете использовать движки Esper или Siddhi CEP, поскольку у них нет зависимостей, как у Flink.

  2. Во втором случае, т. Е. Вы хотите внести некоторые изменения в файл шаблона или посмотреть, как работает обработка запросов, вам следует использовать класс NFA, как указано @Dawid. Это связано с тем, что сопоставление с шаблоном CEP работает в основном путем синтаксического анализа дерева запросов как недетерминированных конечных автоматов, которые получают входные потоки на узлах Leaf и используют операторы на каждом уровне для совместного сопоставления значений потоков и значений фильтра, отправляя его оператору верхнего уровня для фильтрация и тд. Окончательные значения получены в корне этого дерева.

В частности, мне показался полезным механизм SASE, если вы собираетесь взаимодействовать с базовым механизмом CEP низкого уровня. ссылка на статью SASE - https://arxiv.org/ftp/cs/papers/0612/0612128.pdf

Вы можете посмотреть код файла NFA, чтобы получить больше понимания https://github.com/haopeng/sase/tree/master/src/edu/umass/cs/sase/query

Пожалуйста, дайте мне знать, если у вас есть запрос

Другие вопросы по тегам