【问题标题】:How to get the result of a job in another job in Flink? [closed]如何在 Flink 的另一个工作中得到一个工作的结果? [关闭]
【发布时间】:2017-08-22 00:20:16
【问题描述】:
情况是这样的。
我有两个数据源,一个消息队列和一个MySQL表,可以分别看成DataStream和DataSet。我想基于DataStream启动一个作业,从消息中拉取数据排队并执行一些计算。在计算过程中,需要一个基于DataSet(MySQL表)的作业,其OutputFormat应该将结果返回给DataStream作业。
我被困在这里,需要一些帮助。
【问题讨论】:
标签:
java
hadoop
apache-flink
flink-streaming
【解决方案1】:
您不能在同一个作业中混合使用 DataStream 和 DataSet API。但是有一些方法可以从流式作业中访问 MySQL。你可以:
- 从平面图中查询 MySQL
- 使用异步 i/o 更有效地完成此任务
- 使用debezium之类的东西从mysql中流式传输数据
根据您希望如何将数据从 mysql 连接到其他流,您可能需要使用 CoFlatmapFunction 或 CoProcessFunction。