javaee论坛

普通会员

225648

帖子

324

回复

338

积分

楼主
发表于 2019-11-03 06:38:22 | 查看: 553 | 回复: 2

min():获取的最小值,指定的field是最小,但不是最小的那条记录,后面的示例会清晰的显示。

minBy():获取的最小值,同时也是最小值的那条记录。

max()与maxBy()的区别也是一样。

那么下面来看示例:

publicclassMinOrMinByOperator{publicstaticvoidmain(String[]args)throwsException{StreamExecutionEnvironmentsEnv=StreamExecutionEnvironment.getExecutionEnvironment();sEnv.setParallelism(1);Propertiesp=newProperties();p.setProperty("bootstrap.servers","localhost:9092");DataStreamSource<String>source=sEnv.addSource(newFlinkKafkaConsumer010<String>("student",newSimpleStringSchema(),p));source.print();WindowedStream<Student,String,TimeWindow>windowedStream=source.map(newMapFunction<String,Student>(){@OverridepublicStudentmap(Stringvalue)throwsException{returnnewGson().fromJson(value,Student.class);}}).keyBy(newKeySelector<Student,String>(){@OverridepublicStringgetKey(Studentvalue)throwsException{returnvalue.sid;}}).timeWindow(Time.minutes(1));SingleOutputStreamOperator<Student>min=windowedStream.min("age");min.print("min:");SingleOutputStreamOperator<Student>minBy=windowedStream.minBy("age");minBy.print("minBy:");sEnv.execute("MinOrMinByOperator");}}

模拟几条数据,输出结果如下


普通会员

0

帖子

304

回复

308

积分
沙发
发表于 2022-05-08 06:02:24

好好好

普通会员

0

帖子

227

回复

227

积分
板凳
发表于 2023-08-27 20:46:03

爱你呦

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017