如何在Apache Flink中将一个数据流广播到另一个数据流

时间:2020-07-23 09:18:53

标签: apache-flink flink-streaming

我有两个DataStream,如下所示:

DataStream<String> dataA = env.addSource(sourceA);
DataStream<String> dataB = env.addSource(sourceB);

我需要的是根据dataB有条件地处理dataA

说sourceA正在发送:a, b, a, b, a, a, b, a, b, b...。我需要的是以下内容:

DataStream<String> res = dataB.map(new MapFUnction<String, String>() {
    @Override
    public String map(String s) throws Exception {
        if (currentValueOfA == "a") {
            processDataBWithMethodA();
        } else {
            processDataBWithMethodB();
        }
    }
});

总而言之,dataA是一种控制流,它控制如何处理dataB

我试图阅读Flink的文档,似乎我需要某种广播机制,但是找不到一个简单的示例来帮助我了解如何使用此机制。

您能告诉我如何向dataA广播dataB吗?

0 个答案:

没有答案