??????????
????????window+processfunction????????????????watermark?????????? ??????????input????????????????????????????????????????????processfunction?????????????????????? ?????????????????????????????????????????????????????????????? https://www.imageoss.com/image/sTn2U ????????metric????????recordsIn&gt;recordsOut ??????????????????window??????processfunction??????????????filter?????? ?????????? .window(TumblingEventTimeWindows.of(org.apache.flink.streaming.api.windowing.time.Time.minutes(1))) .process(new ProcessWindowFunction<Row, Row, Integer, TimeWindow&gt;() { @Override public void process(Integer integer, Context context, Iterable<Row&gt; elements, Collector<Row&gt; out) { for (Row element : elements) { out.collect(element); } } })