假设我有一个 Flink SourceFunction<String>
叫RequestsSource
。
对于来自该源的每个请求,我想订阅一个外部数据源(出于示例的目的,它可以启动一个单独的线程并开始在该线程上生成数据)。
输出数据可以连接到单个 DataStream
上。例如
Input Requests: A, B Data produced: A1 B1 A2 A3 B2 ...
...等等,新元素将永远添加到数据流中。
如何编写一个可以做到这一点的 Flink Operator?我可以使用例如FlatMapFunction
?
最佳答案
您通常希望使用 AsyncFunction ,它(异步)可以接受一个输入元素,调用一些外部服务,并发出一组结果。
另请参阅Apache Flink Training - Async IO .
-- 肯
关于java - Flink DataStream - 如何从输入元素启动源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52448914/