Flink Fold怎么使用
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要讲解了"Flink Fold怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Flink Fold怎么使用"吧!Fold算子:将数据流
千家信息网最后更新 2025年12月03日Flink Fold怎么使用
这篇文章主要讲解了"Flink Fold怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Flink Fold怎么使用"吧!
Fold算子:将数据流的每一次输出进行滚动叠加,合并输出结果
示例环境
java.version: 1.8.xflink.version: 1.11.1
示例数据源
Flink 系例 之 搭建开发环境与数据
Fold.java
import com.flink.examples.DataSource;import org.apache.flink.api.common.functions.FoldFunction;import org.apache.flink.api.java.functions.KeySelector;import org.apache.flink.api.java.tuple.Tuple3;import org.apache.flink.streaming.api.datastream.KeyedStream;import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import java.util.List;/** * @Description Fold算子:将数据流的每一次输出进行滚动叠加,合并输出结果 * (与Reduce的区别是,Reduce是拿前一次聚合结果累加后一次的并输出数据流;Fold是直接将当前数据对象追加到前一次叠加结果上并输出数据流) */public class Fold { /** * 遍历集合,分区打印每一次滚动叠加的结果(示例:按性别分区,按排序,未位追加输出) * @param args * @throws Exception */ public static void main(String[] args) throws Exception { final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(4); List> tuple3List = DataSource.getTuple3ToList(); //注意:使用Integer进行分区时,会导致分区结果不对,转换成String类型输出key即可正确输出 KeyedStream, String> keyedStream = env.fromCollection(tuple3List).keyBy(new KeySelector, String>() { @Override public String getKey(Tuple3 tuple3) throws Exception { //f1为性别字段,以相同f1值(性别)进行分区 return String.valueOf(tuple3.f1); } }); SingleOutputStreamOperator result = keyedStream.fold("同学:", new FoldFunction, String>() { @Override public String fold(String s, Tuple3 tuple3) throws Exception { if (s.startsWith("男") || s.startsWith("女")){ return s + tuple3.f0 + "、"; } else { return (tuple3.f1.equals("man") ? "男" : "女") + s + tuple3.f0 + "、"; } } }); result.print(); env.execute("flink Fold job"); }} 打印结果
2> 男同学:张三、2> 男同学:张三、王五、2> 男同学:张三、王五、吴八、1> 女同学:李四、1> 女同学:李四、刘六、1> 女同学:李四、刘六、伍七、
感谢各位的阅读,以上就是"Flink Fold怎么使用"的内容了,经过本文的学习后,相信大家对Flink Fold怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
输出
数据
结果
同学
数据流
叠加
女同
性别
示例
张三
李四
学习
内容
环境
算子
王五
不对
相同
字段
对象
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何查看楼盘销售数据库
大学网络技术学
华为服务器mgmt接口是千兆
2017网络安全日登录
网络安全国企名单
试通过一个实例说明数据库
服务器机房的设备及参数
旌德常规软件开发服务解决方案
网络安全海报2018
常州软件开发方法
网络安全知识竞赛答题记录
每天有多少个服务器被攻击
什么叫网络安全包括哪些内容
t3连接数据库选多个实例
工控无线网络安全成本
党建与现代网络技术
关于网络安全的重要语录
中国网络安全周演讲
网络安全活动感言
收件人数量超过服务器限制
nessus扫描教程数据库
腾讯游戏的服务器怎么选
安卓如何获取服务器端数据库
数据库主表从表
虚拟服务器测试
购买数据库
服务器怎么远程安全管理
腾讯云快速导出服务器ip
news金融网络安全
如果网络连不到服务器怎么办