Flink Fold怎么使用
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要讲解了"Flink Fold怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Flink Fold怎么使用"吧!Fold算子:将数据流
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
软件开发小程序报告
网络技术的股价
服务器文件传到本地电脑
服务器 硬盘分区
晋宁区综合软件开发厂家价格
徐州互联网软件开发诚信服务
服务器控制管理界面
大数据网络技术专业学什么
张家界旅游网络技术
简单图书管理员数据库模型
网络技术专业需要什么配置的电脑
磐安软件开发商
网络安全个人计划
饥荒在线服务器0
c 数据库开发 pdf
服务器安全狗小红伞下载
深圳市叠威网络技术
数据库实践感悟
手赚app软件开发
底纹下载软件开发
申通软件开发
软件开发过程的维护过程
网络安全专题教育开展讨论
考研调剂时一直进不去服务器
皮卡堂服务器都叫什么名字
正规计算机软件开发条件
大数据库经验分享
无机金属数据库
重庆商城软件开发价位
数据库并表