news 2026/6/9 21:10:50

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/6/6 2:58:12

深入 Flink 数据源:RichSourceFunction 的设计与最佳实践

Flink DataStream API 实战:从 SourceFunction 到 RichSourceFunction 的进阶与优化 本文详细讲解了 Apache Flink 中源函数(Source Function)的演进,从最基础的 SourceFunction 到功能更强大的 RichSourceFunction,并结合数据库、Kafka 仿真及可配置化场景提供实战示例,…

作者头像 李华
网站建设 2026/5/26 20:09:44

【剑斩OFFER】算法的暴力美学——力扣 130 题:被围绕的区域

一、题目描述 二、算法原理 1&#xff09;处理边缘 O&#xff0c;防止干扰微软 O &#xff1a; 2&#xff09;使用层序遍历查找中间的使用的 O 并且让他变成 1&#xff1a; https://blog.csdn.net/2403_84958571/article/details/157102889?spm1011.2415.3001.10575&sha…

作者头像 李华
网站建设 2026/6/2 5:47:13

PySide系列-07-QMainWindow

PySide step by step系列 1、QMainWindow QMainWindow 是一个继承自 QWidget 的类&#xff0c;专门设计用来作为主应用程序窗口。它内置了多个标准的 GUI 组件区域&#xff0c;方便开发人员快速搭建界面。 QMainWindow 提供了以下几个核心区域&#xff08;布局区域&#xff…

作者头像 李华
网站建设 2026/6/8 11:36:10

基于特征匹配的英文印刷字符识别:MATLAB 实现之旅

14.基于特征匹配的英文印刷字符识别代码 MATLAB程序 可以识别英文&#xff0c;当鼠标指在某个英文单词时&#xff0c;在坐下角会显示相关字符&#xff0c;原有62张图片&#xff0c;包括大小写A-Z和0-9用于匹配&#xff0c;具体可参照:https://blog.csdn.net/horseinch/article/…

作者头像 李华