flink1.12.x timeWindow()、countWindow()和timeWindowAll()、countWindowAll()、window()、windowAll()区别

xxxWindow() 方法

  • timeWindow() 废弃
  • window()
  • countWindow()
  • windowAll()

应用场景

使用 keyBy() 分组后的流,使用 上面方法,window 将不同的 key 分开并生成多个 window,所以 xxxWindow() 是并行处理的,可以设置并行度

dataStream.keyBy(data => {
      //
    }).window(TumblingProcessingTimeWindows.of(Time.seconds(5)))
      .process(new ProcessWindowFunction[Data, String, String, TimeWindow]{
       //
        }
      })
    .setParallelism(2) // 设置并行度
    .print()

xxxWindowAll() 方法

  • timeWindowAll() 废弃
  • windowAll()
  • countWindowAll()

应用场景

没 使用 keyBy() 分组后的的流,使用 上面方法,是把所有的数据进行聚合,并行度只能为 1。


原文出处:/show_1IX20R16bNMk.html