Flink 核心技术与实战
张利兵
第四范式数据中台架构师,Apache Flink 贡献者
16166 人已学习
新⼈⾸单¥68
课程目录
已完结/共 91 讲
第一章:Apache Flink介绍 (5讲)
第七章:Flink监控与性能优化 (5讲)
第九章:项目实战-使用Flink构建推荐系统实时数据流 (2讲)
Flink 核心技术与实战
登录|注册
留言
9
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 22 | Watermark实践原理
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|结束语
本节摘要
登录 后留言

全部留言(9)

  • 最新
  • 精选
大大王阿
如果source的业务时间未经校验导致watermark的值异常大。是否会导致后续的计算全部失效?

作者回复: 主要是看怎么波动,Watermark是单调递增的,主要会影响计算的正确性,如果数据乱序过于严重 那是不适合用流式方式处理的

2020-10-03
1
Allan
watermark如何解决的乱序?mq接收到的数据是乱序的?如何把他们变成最后的有序?是通过设置watermark + window窗口,然后把数据全部聚集到一起,通过排序时间,这样输出有序的结果嘛?

作者回复: 对的,也可以这么理解,就是增加了一个调整的时间,让数据按照原来的顺序处理

2020-09-23
suke
老师,watermark没说清楚啊,您的解释是较早时间到达是因为较早时间到达,感觉老师自己有点不知所云了
2021-04-13
1
8
Emile_Lin
最大容忍时间 是否可以理解为 如果最大容忍时间为0,相当于只要数据event time小于watermark 即不纳入计算,最大程度避免乱序的时延,但是统计结果准确性会比较低;反之 如果最大容忍时间设置很大,则数据准确性可以保障,但时延会很高?
2023-09-30
Geek_007
最贴切的解释
2022-02-05
朱家华
老师有几个问题,比如说“并行中的watermark”这张图中,map2把watermark发送给了window1和window2。那map1也会把自己的watermark发送给window1和window2。那么如图中所示,当前window1的timeservice是14,即将从map1接收到W(29),也即将从map2接收到W(17)。 1.window1的timeservice会变成什么样? 2.在shuffle过程中,watermark是同时发送给下游算子所有的subtask吗? 3.按照视频里所讲的,在使用processing time的情况下,实际上是基于本地的系统时间来作为window的触发条件依据,那么在使用event time的情况下,实际上使用的是每个算子的subtask中的timeservice中的通过watermark更新的时间来作为window的触发条件对吗?
2021-03-18
Allan
到接入的数据是按照顺序的时候,就不需要我们设置watermark了。每个算子中的时钟服务都有一个TimeService,当进入算子的watermark流会更新当前的时钟时间。对于延迟的数据如何处理呢?
2021-02-24
追梦
老师是一个窗口已处理吗?实例中14已经到了W(17)中了,这个晚于W(13)的17呢? 这个不会造成错误吗
2021-02-10
Geek_e3a3f6
并行中的时钟如何保证所有Operator的时钟是最新的?
2020-11-12
收起评论