По сути, я использую CoFlatMapFunction (https://ci.apache.org/projects/flink/flink-docs-stable/api/java/org/apache/flink/streaming/api/functions/co/CoFlatMapFunction.html) для фильтрации потока и изменения параметров фильтра во время выполнения, и для этого я использую Flink. Я хочу сделать то же самое с Apache Edgent TStream (https://edgent.incubator.apache.org/javadoc/latest/org/apache/edgent/topology/TStream.html), но у него нет CoFlatMapFunction. Если я использую Union, это не сработает, потому что потоки разные, и мне не разрешено объединяться. Если я использую фильтр, у меня не будет желаемого динамического поведения. Любое предложение?
Спасибо




Используя Flink, вы можете принудительно объединить потоки разных типов с помощью Either. Это немного взломано, но похоже, что оно может работать и с Apache Edgent.
Обновлено:
Я только изучаю Edgent, но, похоже, у него есть понятие управляющих потоков: https://edgent.apache.org/recipes/recipe_adaptable_filter_range.html.
Монада Either не зависит от Flink. Я просто предполагаю, что вы можете взять одну из существующих реализаций и заставить ее работать с Edgent.
Привет, я мог бы реализовать подход Either, используя библиотеку Flink-core (github.com/felipegutierrez/explore-rpi/blob/master/src/main /…). Но теперь я не знаю, как реализовать союз. У тебя есть какие-нибудь подсказки? Спасибо
Увидел теперь твое обновление. Спасибо. Это работает так, как я задал свой вопрос
Извините, но до сих пор неясно, как это сделать в Edgent, потому что я не могу найти ничего похожего на
Eitherна Apache Edgent (edgent.incubator.apache.org/javadoc/latest/org/apache/edgen t /…)