Возможно ли такое же поведение CoFlatMapFunction, используя другие базовые операторы?

По сути, я использую 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, это не сработает, потому что потоки разные, и мне не разрешено объединяться. Если я использую фильтр, у меня не будет желаемого динамического поведения. Любое предложение?

Спасибо

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
78
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используя Flink, вы можете принудительно объединить потоки разных типов с помощью Either. Это немного взломано, но похоже, что оно может работать и с Apache Edgent.

Обновлено:

Я только изучаю Edgent, но, похоже, у него есть понятие управляющих потоков: https://edgent.apache.org/recipes/recipe_adaptable_filter_range.html.

Извините, но до сих пор неясно, как это сделать в Edgent, потому что я не могу найти ничего похожего на Either на Apache Edgent (edgent.incubator.apache.org/javadoc/latest/org/apache/edgen‌ t /…)

Felipe 21.12.2018 11:05

Монада Either не зависит от Flink. Я просто предполагаю, что вы можете взять одну из существующих реализаций и заставить ее работать с Edgent.

David Anderson 21.12.2018 11:39

Привет, я мог бы реализовать подход Either, используя библиотеку Flink-core (github.com/felipegutierrez/explore-rpi/blob/master/src/main‌ /…). Но теперь я не знаю, как реализовать союз. У тебя есть какие-нибудь подсказки? Спасибо

Felipe 21.12.2018 13:53

Увидел теперь твое обновление. Спасибо. Это работает так, как я задал свой вопрос

Felipe 21.12.2018 14:20

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