我如何使用flink在Main Stream中使用另一个流数据

时间:2020-06-02 06:42:54

标签: apache-flink

我有来自数据流NIFI连接器的Employee Master数据,还有一个包含员工详细信息的KAFA Data Main Stream。在Process元素内,我必须使用此Master数据流进行一些计算。有什么办法可以做到的?

我的当前设计包含一个数据流和一个广播流(broadCastStream),所有数据处理都在(mainDataProcessor)中的过程元素下完成,该元素派生自KeyedBroadcastProcessFunction。 我将广播流连接到主流,如下所述。 即。 mainStream.connect(broadCastStream).process(new mainDataProcessor())

现在,我们还需要引入另一个数据流,该数据流包含来自NIFI COnnector帮助的Casandra表的主数据。我需要在流程元素中使用此主表数据流来对主流数据和广播数据进行一些计算,这有什么办法。

1 个答案:

答案 0 :(得分:1)

通常要做的是将流连接到特定的列上。例如,使用temporal join

如果您使用DataStream,还可以使用联接,但是您需要注意状态大小(何时可以丢弃数据?)。

如果您没有要加入的员工ID,也可以尝试使用broadcasts,但不建议这样做。

如果您需要更具体的指针,请更新您的问题,并注明您使用的是哪个API。