1 kafka数据源,设置水印,一般直接在数据源消费者上加载。
如下:
2 水印并发度设置
2.1 对于kafka数据源。
我们设置并发度一般设置topic对应的分区数。如果分区数为2,则为2。
如果设置为4, 实际上即时启动了4个task,也只有2个真正消费数据并产生水印。另外2个task一致在等待,不会发出水印。
如下图,为分区为2,设置并发度为4的情况,可以看到上面2个子任务根本没有读取数据以及发送水印。
2.2 如果为其它非kafka的场景,比如在map任务后添加水印。
此种场景根据map任务的并发数来发送水印,比如并发数为8. 则8个子任务都会发送并发水印。
那么满足窗口触发计算的条件是, 8个并发水印中最小值为准。
|