本文主要是介绍Flink实战案例(二十三):自定义时间和窗口的操作符(四)window functions之增量聚合函数(一)ReduceFunction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实例一
例子: 计算每个传感器15s窗口中的温度最小值
val minTempPerWindow = sensorData.map(r => (r.id, r.temperature)).keyBy(_._1).timeWindow(Time.seconds(15)).reduce((r1, r2) => (r1._1, r1._2.min(r2._2)))
实例二
ReduceFunction定义了如何把两个输入的元素进行合并来生成相同类型的输出元素的过程,Flink使用ReduceFunction来对窗口中的元素进行增量聚合
package com.lynch.stream.window;import org.apache.flink.api.common.functions.ReduceFunction;
import org.apache.flink.api.java.tuple.Tuple3;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;/*** 测试ReduceFunction**/
public class TestReduceFunctionOnWindow {public static void main(String[] args) t
这篇关于Flink实战案例(二十三):自定义时间和窗口的操作符(四)window functions之增量聚合函数(一)ReduceFunction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!