news 2026/4/23 17:11:29

Flink 流处理从入门到精通:DataStream 转换与窗口操作实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flink 流处理从入门到精通:DataStream 转换与窗口操作实战

💡 Flink DataStream API 实战全解析:Map、FlatMap、Filter 与 Window 窗口操作详解

封面图建议:深蓝科技感背景,中央 Flink logo,流动线条展示数据流动,关键词“Map / FlatMap / Filter / Window Processing”,简洁直观。


目录

  1. Flink 执行环境与时间语义
  2. 基础转换操作:Map、FlatMap、Filter
  3. 窗口操作(Window)详解

    • 窗口基础概念
    • 窗口类型
    • 窗口函数
    • 触发器、移除器与延迟处理
  4. 完整示例:流式统计与窗口分析

  5. 关键要点总结


1. Flink 执行环境与时间语义

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); // 默认使用 Processing Time,可通过以下方式启用 Event Time env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime); // 设置并行度 env.setParallelism(2);
  • Processing Time:操作符所在机器的系统时间
  • Event Time:事件本身携带的时间戳
  • Ingestion Time:事件进入 Flink 的时间
  • 小技巧:从 Flink 1.12 起默认使用 EventTime,推荐配合 WatermarkStrategy 使用

Watermark 示例(乱序事件处理)

.assignTimestampsAndWatermarks( WatermarkStrategy .<Tuple2<String, Integer>>forBoundedOutOfOrderness(Duration.ofSeconds(5)) .withTimestampAssigner((event, timestamp) -> System.currentTimeMillis()) );

2. 基础转换操作:Map、FlatMap、Filter

2.1 Map 转换

一对一转换,每个输入元素产生一个输出

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 1:07:23

第一次渗透

第一次接触渗透感觉十分的不熟悉&#xff0c;我对前面的课程有很多都没有学到位&#xff0c;很多都听不懂&#xff0c;最初几节课的环境搭建感觉听的云里雾里的。之前授课老师和这门课的老师讲课方式不一样&#xff0c;所以还没有适应。我不知道环境搭建需要那些东西&#xff0…

作者头像 李华
网站建设 2026/4/23 12:30:04

小程序计算机毕设之基于django智能制造业ERP系统定制化ERP系统APP小程序(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/23 12:29:33

《Python动态类型的可靠性屏障:属性测试的实战探索》

Python动态类型机制所带来的编码自由度,是吸引无数开发者深耕于此的核心魅力,却也如同一把双刃剑,在消解静态类型繁琐约束的同时,埋下了类型契约模糊、行为边界失范的隐性隐患,传统测试手段始终被困在“预设输入-验证输出”的点覆盖逻辑里,面对动态类型环境中对象属性动态…

作者头像 李华
网站建设 2026/4/22 19:29:18

无线网络仿真:蓝牙网络仿真_(15).蓝牙网络仿真研究前沿

蓝牙网络仿真研究前沿 1. 蓝牙网络仿真的背景与意义 1.1 无线网络仿真的重要性 无线网络仿真是一种重要的研究工具&#xff0c;用于评估和优化无线通信系统的性能。通过仿真&#xff0c;研究人员可以模拟真实世界中的各种无线通信场景&#xff0c;从而分析网络的行为和性能。无…

作者头像 李华
网站建设 2026/4/23 12:31:45

新手友好 Linux Mint 22.3“Zena“正式发布,带来系统全面升级

如果你想尝试 Linux Mint&#xff0c;现在正是时候。全新改进的"Zena"版本已经到来——仍然基于 Ubuntu Noble&#xff0c;但现在配备了 Cinnamon 6.6、改进的 Wayland 支持&#xff0c;以及更好的国际化功能、新的系统信息和系统管理工具&#xff0c;还有更清晰的图…

作者头像 李华