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

全部留言(10)

  • 最新
  • 精选
yang
在处理每个元素的时候可以注册一个计时器 也可以在处理元素的时候通过deleteEventTimeTimer(ts)来删除当前key的计时器 但是这个key的计时器可能已经有多个还未触发,我调用delete的时候删除的是最早创建的那个吗? 我还想问一下 对于processElement 和 onTimer这两个方法的调用是同步的 这个应该怎么理解?

作者回复: 删除定时器这种操作比较少,是按照给定时间来删除的,processElement 和 onTimer两个方法是在同一个线程中处理的,如果不是同步的话就会出现线程安全的问题,这样processElement()方法处理的数据就会出现不一致的情况

2020-10-19
2
yang
另外 老师我想问一下 视频中的代码在每一次处理新元素的时候注册一个计时器 那如果上一次注册的计时器还未触发,本次注册的计时器 是继续新注册一个计时器,还是覆盖上一次那个未触发的计时器?

作者回复: 继续注册Timer,注意Timer数据都是存在JVM Heap中的,并且也是要做快照处理的。

2020-10-19
1
长脖子树
TimerService 接口中有删除定时器的接口 void deleteProcessingTimeTimer(long time); void deleteEventTimeTimer(long time); 输入给定的时间, 就可以删除那个时间的定时器

作者回复: 是的

2020-10-22
yang
考虑一种删除计时器的场景: 假设上游发送过来的key-value中的value可正可负 我们需要在state中维护一个value的sum值, 当这个value值变大的时候我们注册一个计时器,进行sum的输出并清除这个状态; 当这个value值变小的时候我们取消这个计时器,不做sum的输出与清除。
2020-10-19
3
小菜鸟
这个state 如果算子是多并行度 是怎么保证数据计算是正确的呢
2023-06-21
Geek_bad486
请问注册定时器的代价是否高昂?因为这里的实例注册定时器太过于频繁了
2023-02-23
Zoro
您好,我现在要对全国单量进行统计,但是如果用allwindow会影响性能,我先通过订单做一个hash 然后keyed分开计算,最后要用什么方式再合并起来
2022-03-31
维E
可以在处理当前元素之前把上一个元素的定时器删除掉?这样就不会每个元素处理完的100ms后多要触发一次onTimer了,只有在100ms内没有来新元素把上一个元素的定时器删除掉的时候才会触发onTimer
2021-11-24
Allan
在onTimer中我们可以通过ctx拿到ctx.timerService().deleteEventTimeTimer(timestamp);进行删除。删除只是删除了定时器,感觉已经到了onTimer,删不删除已经没啥意义了吧?数据发不发下游 通过收集器控制就好了。
2021-03-03
小白
例子中数据流里的key都是相同的值吗?如果不是,是每个key都对应一个ValueState对象吗?
2020-11-04
1
收起评论