??????????

????????window+processfunction????????????????watermark??????????


??????????input????????????????????????????????????????????processfunction??????????????????????
??????????????????????????????????????????????????????????????
https://www.imageoss.com/image/sTn2U

????????metric????????recordsIn>recordsOut
??????????????????window??????processfunction??????????????filter??????
??????????
.window(TumblingEventTimeWindows.of(org.apache.flink.streaming.api.windowing.time.Time.minutes(1)))
.process(new ProcessWindowFunction<Row, Row, Integer, TimeWindow&amp;gt;() {
&nbsp; &nbsp; @Override
&nbsp; &nbsp; public void process(Integer integer, Context context, 
Iterable<Row&amp;gt; elements, Collector<Row&amp;gt; out) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; for (Row element : elements) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp; out.collect(element);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; }
&nbsp; &nbsp; }
})

回复