java - Flink DataStream - 如何从输入元素启动源?

标签 java apache-flink flink-streaming

假设我有一个 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/

相关文章:

java - 如何对 Flink ProcessFunction 进行单元测试?

Scala WindowFunction 无法编译

java - 自定义类型集合的自定义字符串表示形式

java - JSoup 请求 url 更改

java - scala:重写基本类型的等于

java - 将包含 3 列的 CSV 文件读入 Datastream。 JAVA Apache Flink

java - 如何修复 Apache Flink 中卡住的检查点

java - 有什么可能的方法来指定正在运行的java虚拟机的名称吗?

machine-learning - 用于机器学习算法的 Flink HBase 输入

apache-flink - Flink 流 : How to implement windows which are defined by a start and end element?