Flink Fold怎么使用
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要讲解了"Flink Fold怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Flink Fold怎么使用"吧!Fold算子:将数据流
千家信息网最后更新 2026年11月04日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安全错误
数据库的锁怎样保障安全
耶加雪菲
科技互联网公司装修
互联网为科技
互联网金融公司科技
有马互联网科技
互联网科技作文
北京互联网络科技有限公司
南京欣网互联网科技
丰台科技园 互联网
狮子座互联网科技培训
互联网科技大会
中国互联网金融科技基金
港股科技和互联网
河南猎农互联网科技有限公司
烟台灵鸽互联网科技有限公司
西安有哪些互联网高科技企业
三亚科技创新互联网基地
互联网对科技影响
河南商务圈互联网科技有限公司
上海互联网科技园景观
瑰夏咖啡
互联网科技有限公司
互联网科技卖菜
互联网科技缩写
互联网金融 科技创新
互联网媒体平台算高科技产业
佛山市翊博互联网络科技有限公司
小米互联网科技园入驻
山东大美朱楼互联网科技有限公司
互联网企业和网络科技有限公司