1、代码逻辑实现
package day02;
import org.apache.flink.api.common.functions.ReduceFunction;
import org.apache.flink.api.java.functions.KeySelector;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.datastream.KeyedStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
/**
* @program: Flink_learn
* @description: 滚动聚合
* @author: Mr.逗
* @create: 2021-09-17 10:35
**/
public class SelfKeyBy {
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource<Tuple2<Integer, Integer>> source = env.fromElements(
Tuple2.of(1, 2)
, Tuple2.of(1, 3)
);
//1、匿名keyBy+sum
source.keyBy(v->v.f0).sum(1).print();
//2、匿名keyBy+ReduceFunction
source.keyBy(v->v.f0).reduce(new ReduceFunction<Tuple2<Integer, Integer>>() {
@Override
public Tuple2<Integer, Integer> reduce(Tuple2<Integer, Integer> v1, Tuple2<Integer, Integer> v2) throws Exception {
return Tuple2.of(v1.f0,v1.f1+v2.f1);
}
}).print();
//3、匿名keyBy+匿名reduce
source.keyBy(v->v.f0).reduce((Tuple2<Integer,Integer> v1,Tuple2<Integer,Integer> v2)->
{
return Tuple2.of(v1.f0,v1.f1+v2.f1);
}).print();
//4、非匿名keyBy+非匿名reduce
KeyedStream<Tuple2<Integer, Integer>, Integer> keyedStream = source.keyBy(new KeySelector<Tuple2<Integer, Integer>, Integer>() {
@Override
public Integer getKey(Tuple2<Integer, Integer> v) throws Exception {
return v.f0;
}
});
keyedStream.reduce(new ReduceFunction<Tuple2<Integer, Integer>>() {
@Override
public Tuple2<Integer, Integer> reduce(Tuple2<Integer, Integer> v1, Tuple2<Integer, Integer> v2) throws Exception {
return Tuple2.of(v1.f0,v1.f1+v2.f1);
}
}).print();
String name = SelfKeyBy.class.getName();
env.execute(name);
}
}复制
2、结果之展示
6> (1,2)
6> (1,5)
6> (1,2)
6> (1,5)
6> (1,2)
6> (1,2)
6> (1,5)
6> (1,5)复制
文章转载自逗先生大数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1460次阅读
2025-03-13 11:40:53
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
721次阅读
2025-04-09 15:33:27
2025年3月国产数据库大事记
墨天轮编辑部
566次阅读
2025-04-03 15:21:16
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
498次阅读
2025-03-13 14:38:19
征文大赛 |「码」上数据库—— KWDB 2025 创作者计划启动
KaiwuDB
378次阅读
2025-04-01 20:42:12
优炫数据库成功应用于国家电投集团青海海南州新能源电厂!
优炫软件
361次阅读
2025-03-21 10:34:08
国产化+性能王炸!这套国产方案让 3.5T 数据 5 小时“无感搬家”
YMatrix
331次阅读
2025-03-13 09:51:26
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
303次阅读
2025-04-10 15:35:48
GoldenDB数据库社区正式上线!期待与您共享新知
GoldenDB分布式数据库
265次阅读
2025-03-12 14:06:39
从HaloDB体验到国产数据库兼容性
多明戈教你玩狼人杀
244次阅读
2025-04-07 09:36:17