Flink DataStream之min()与minBy(),max()与max之间的区别
min():获取的最小值,指定的field是最小,但不是最小的那条记录,后面的示例会清晰的显示。
minBy():获取的最小值,同时也是最小值的那条记录。
max()与maxBy()的区别也是一样。
那么下面来看示例:
public class MinOrMinByOperator {
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment sEnv = StreamExecutionEnvironment.getExecutionEnvironment();
sEnv.setParallelism(1);
Properties p = new Properties();
p.setProperty("bootstrap.servers", "localhost:9092");
DataStreamSource<String> source = sEnv.addSource(new FlinkKafkaConsumer010<String>("student", new SimpleStringSchema(), p));
source.print();
WindowedStream<Student, String, TimeWindow> windowedStream = source
.map(new MapFunction<String, Student>() {
@Override
public Student map(String value) throws Exceptio