我正在研究使用Flink作为流媒体引擎。我来自apache-storm,据我所知,storm的Bolt类似于Flink的任务/操作符。在风暴中,一个人可以
builder.setBolt("TEST", new TestBolt(),5)
.fieldsGrouping("Source1", "ID1")
.fieldsGrouping("Source2","ID2)
.fieldsGrouping("Source3","ID1")
.allGrouping("Source4");我如何使用Flink实现类似的功能。基本上,我希望我的测试螺栓有来自Source2,source3,source4的状态,并在来自源1的数据到来时做一些计算。
发布于 2021-07-20 21:11:23
在Flink中组合流的选项包括union (用于合并n个相同类型的流)、connect (用于使用CoFlatMap或CoProcessFunction联合处理任何类型的两个流)和broadcast。
在一些情况下,优选地构建一种二叉树,例如,连接流1和2以形成流12,并且分别连接流3和4以创建流34,然后将stream12与流34连接。
另一种方法是创建某种联合类型,它可以保存任何流中的对象,然后使用联合来合并这些流。Flink包含一种Either类型,在这些情况下可能会很有帮助。
https://stackoverflow.com/questions/68446939
复制相似问题