Flink 核心技术与实战
张利兵
第四范式数据中台架构师,Apache Flink 贡献者
16166 人已学习
新⼈⾸单¥68
课程目录
已完结/共 91 讲
第一章:Apache Flink介绍 (5讲)
第七章:Flink监控与性能优化 (5讲)
第九章:项目实战-使用Flink构建推荐系统实时数据流 (2讲)
Flink 核心技术与实战
登录|注册
留言
31
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 23 | Watermark与Window的关系
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 流处理技术概览
04 | Flink发展历史与应用场景
05 | Flink核心特性
06 | Flink集群架构
07 | Flink集群运行模式
08 | Flink集群资源管理器支持
09 | Standalone原理讲解与实操演示
10 | Flink On Yarn部署讲解
11 | Flink On Yarn实操演示
12 | Flink On Kubernetes部署讲解
13 | Flink On Kubernetes实操:Session模式
14 | Flink On Kubernetes实操:Per-job模式
15 | Flink On Kubernetes Native部署讲解
16 | Flink On Kubernetes Native实操演示
17 | Flink高可用配置原理讲解
18 | Flink高可用配置实操演示
19 | 分布式流处理模型
20 | DataStream API实践原理
21 | Flink时间概念
22 | Watermark实践原理
23 | Watermark与Window的关系
24 | Watermark Generator
25 | Windows窗口计算
26 | Window Assigner
27 | Window Trigger
28 | Window Evictors
29 | Window Function
30 | Windows多流合并
31 | Process Function应用
32 | SideOutput旁路输出
33 | Asynchronous I/O异步操作
34 | Pipeline与StreamGraph转换
35 | Flink类型系统
36 | 自定义SourceFunction
37 | 项目实战:基于DataStream API实现PV,UV统计
38 | 有状态计算概念
39 | 状态类型及应用
40 | KeyedState介绍与使用
41 | OperatorState介绍与使用
42 | BroadcastState介绍与使用
43 | Checkpoint实现原理
44 | Savepoint与Checkpoint
45 | StateBackends状态管理器
46 | State Schema Evolution
47 | State序列化与反序列化
48 | Queryable State介绍与使用
49|项目实战:实时交易反欺诈项目介绍
50|项目实战:实时交易反欺诈项目演示
51|Flink Table API/SQL介绍与使用
52|Table API/SQL核心概念
53|DataStream & DataSet 与Table相互转换
54|Table Connector介绍与使用
55|Querying Dynamic Tables
56|TimeStamp与Watermark时间属性定义
57|Query With Temporal Condition
58|Join With Dynamic Table
59|Join With Temporal Function
60|Join With Temporal Tables
61|Catalog原理与使用
62|Apache Hive集成
63|SQL Client介绍与使用
64|Flink SQL Table数据类型
65|自定义Function
66|Table Connector使用
67|自定义Connector
68|new tablesource & tablesink api
69|项目实战:基于Flink SQL实现Top10商品统计
70|Runtime整体架构
71|Flink Client实现原理
72|ResourceManager资源管理
73|Dispatcher任务分发器
74|JobGraph提交与运行(上)
75|JobGraph提交与运行(下)
76|Task执行与调度
77|Task重启和容错策略
78|集群组件RPC通信机制
79|NetworkStatck实现原理
80|Flink内存管理
81|Metric指标分类与采集
82|Flink REST API介绍与使用
83|Checkpoint监控与调优
84|反压监控与原理
85|Flink内存配置与调优
86|PyFlink实践与应用
87|Flink复杂事件处理:Complex event process
88|Alink机器学习框架介绍与使用
89|Stateful Function介绍与使用
90|实时推荐系统项目设计与实现
91|结束语
本节摘要
登录 后留言

全部留言(31)

  • 最新
  • 精选
Allan
12:15的时候减去10i是12:05已经比之前的12:04大了,所以应该更新watermark了。如果进来的时间没有上次watermark的时间大,则不更新watermark并且按照这个eventtime的时间放到对应的时间区间窗口中。

作者回复: 正解

2020-09-19
5
4
最烦起名字
12:05这条记录了,课程讲解中,没有更新watermark。请老师给回答下吧~

作者回复: Watermark更新也要有周期的,所以叫period watermark,通常情况时延为0,Ppt里没有说明这点

2020-10-19
6
3
假如有一个事件 12:01 cat 在12:02到达的话,这种情况下这条记录不会在12:05-12:15的窗口之内,那么最终的输出应该是什么样的呢?

作者回复: 触发计算要需要两个条件: 1、Watermark是否大于窗口右边界,并触发窗口计算。 2、该事件的时间在窗口范围以内; 只要满足以上两个条件就能将该事件纳入到所在窗口中并触发计算,然后输出结果。

2020-09-18
1
老师,我想请教下,每个窗口都包含上个窗口的记录,会导致最后一个窗口的数据记录特别大吧!这个问题有什么机制控制下

作者回复: 不理解,这种情况一般都是增量计算的,也就是结果值,另外窗口的原始数据只会记录当前窗口的,不属于的或者超时的都会丢弃

2020-12-24
qiufang
老师你好,我们这边有个场景,用flink消费一张表,每来一条数据,需要关联维表,进行数据转换。这个维表数据量比较大,更新不是频繁,flink 表可以直接关联关系型数据库中这张维表吗,或者有没有更好的实现方式。

作者回复: 可以参考后面table接口中temporaral table的使用

2020-09-23
2
danvid
12:15这个消息,没有触发watermark更新,老师你讲错了吧
2021-03-10
3
15
桂林
看明白了,这个图中的watermark是每5分钟更新一次。12:15的数据进来时,没到更新时间,所以watermark不变,还是12:04。processingTime为12:20时,12:15-12:20这个processingTime时间窗口里因为进来了一条12:21,owl的数据,所以更新watermark为12:11。12:26,owl这条数据进来时要等到processingTime为12:25时,更新watermark,并计算12:05-12:15的窗口数据
2021-04-15
3
5
偶尔复活下
看明白了,左右两个图要结合起来看。 右图中的watermark更新设定是每5分钟更新一次(ppt里没说明,是period wm)。 事件时间为12:15的数据进来时(处理时间大约是12:19分),还没到period wm的更新时间(更新时间是12:20),所以watermark不变,还是12:04。 processingTime为12:20时,12:15-12:20这个processingTime时间窗口里因为进来了一条事件时间为12:21,owl的数据,所以更新watermark为12:11。 12:26,owl这条数据进来时要等到processingTime为12:25时,才会更新watermark,并计算12:05-12:15的窗口数据
2021-09-15
1
2
Geek_7825d4
老实讲的透彻, 似乎自己也没特别明白
2022-11-11
1
sonald
这个图好像是spark官网的?
2022-10-21
1
收起评论