1.Flink转换算子之合流(Union/Connect)
合流就是将多个流合并成一个流。
1、基于Union
注意: Union可以将两个或多个同数据类型的流合并成一个流。
1 | package com.lxk.test; |
测试结果:

2、基于Connect
1 | package com.lxk.test; |
测试结果:

注意:
- Connect可以只能用来合并两种不同类型的流。
- Connect合并后,可用map中的CoMapFunction或flatMap中的CoFlatMapFunction来对合并流中的每个流进行处理。
2. 分流(Split/Side)
分流可以将一个流拆分成多个流。
2.1基于Split...Select...
1 | package com.bigdata.flink; |
注意:
Split...Select...中Split只是对流中的数据打上标记,并没有将流真正拆分。可通过Select算子将流真正拆分出来。Split...Select...不能连续分流。即不能Split...Select...Split,但可以如Split...Select...Filter...Split。Split...Select...已经过时,推荐使用更灵活的侧路输出(Side-Output),如下。
2.2 基于Side-Output
1 | package com.bigdata.flink; |