如何在Flink的另一份工作中获得工作的结果?

时间:2017-08-22 00:20:17

标签: java apache hadoop apache-flink flink-streaming

以下是这种情况。
我有两个数据源,一个消息队列和一个MySQL表,它们可以分别被视为DataStream和DataSet。我想基于DataStream启动一个作业来从中提取数据消息队列并执行一些计算。在计算过程中,需要一个基于DataSet(MySQL表)的作业,其OutputFormat应该将结果返回给DataStream作业。
我被困在这里,需要一些帮助。

1 个答案:

答案 0 :(得分:2)

您不能在同一作业中混合DataStream和DataSet API。但是有一些方法可以从流媒体作业访问MySQL。你可以:

  1. 从flatmap查询MySQL
  2. 使用async i / o更有效地执行此操作
  3. 使用类似debezium
  4. 之类的来自mysql的数据流

    根据您希望如何将数据从mysql连接到其他流,您可能需要使用CoFlatmapFunction或CoProcessFunction。