【发布时间】:2015-11-21 09:40:05
【问题描述】:
我正在使用 Flink 0.10.0 数据流。 这是我的要求。
- 我的源系统是广播消息的自定义系统。在我的自定义 SourceFunction 实现中,我实现了回调来监听消息。
- 每个回调都会收到不同类型的消息。
- 我想解码/转换回调中收到的对象以发送到我的 SinkFunction。我相信我可以使用 FlatMapFunction 或类似功能来做到这一点。
- 由于我有各种回调,我听的每个回调的解码逻辑都不同。我想它们不能有一个 FlatMapFunction,因为 IN 类型会不同。
如何设计具有以下拓扑的系统:
来源
|- FlatMap_1 (处理回调 1 收到的消息类型) -> Sink
|- FlatMap_2 (处理回调 2 接收到的消息类型) -> Sink
|- FlatMap_3 (处理回调 3 收到的消息类型) -> Sink
等等。
我不想将一个的输出发送给另一个。这本质上是一个扇出,即我希望它们中的每一个都并行运行,并且还希望源能够确定将接收到的消息发送到哪个操作员。
我已经阅读了文档和示例,但找不到与此匹配的示例。非常感谢这方面的帮助。
【问题讨论】:
标签: apache-flink flink-streaming