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

全部留言(6)

  • 最新
  • 精选
yang
看到有位同学说 对 WindowProcessFunction 做 state 保留,保留每次计算结果。 可是 WindowProcessFunction 本身是全量处理当前窗口中的元素呀,也就是到达触发条件了才一次性做全量计算。 所以,我认为应该是不能解决老师说的整合问题的。 我想,可不可以将 WindowProcessFunction 封装进 类似 ReduceFunction 这样的增量计算函数中, 从而达到以全量的计算方式计算增量的数据? 既要保证计算结果的正确性、还要保证快速。

作者回复: 可以的 大部分聚合算子都是这么实现的

2020-10-17
2
4
碧雪天虹
ProcessWindowFunction 处理性能弱的原因, 主要有两点: 1. 时间上, 因为要等待窗口内所有数据到达后才开始计算, 所以计算负载在时间线上是不均衡的. 2. 空间上, 同样因为要等待窗口内所有数据, 造成数据会滞留一段时间, 所以缓冲负载在时间线上是不均衡的. 综上所述, 优化的方向就是分阶段, 先增量预计算, 再全量汇总. 就像老师讲的求平均数计算, 从数学上来说这是需要全量数据的, 但是可以拆分为两个阶段: 1. 局部增量计算累加值, 局部增量计算累计数, 这里使用增量函数在多个分区分别计算, 几乎没有停滞完成了数据的预计算. 2. 全量合并累加值, 全量合并累计数, 最后用总累加值除以总累计数, 得到平均值, 这里使用全量函数汇总到单个算子, 但是相比收集所有的原始数据计算, 第二阶段不论是计算压力还是存储压力都比一次性计算要小.
2021-01-08
14
suke
老师讲了这么多算子,连一个可以跑的代码也没讲过
2021-04-14
2
3
李新卫  
呜呼哀哉
2022-12-03
tiny🌾
有2个工程上的问题问题不太清楚 1.聚合的维度数据有长有短,比如用户1天的下载文件次数,用户5分钟下载文件次数,这2种是都在flink里计算,还是计算5分钟的,然后用5分钟的在聚合成一天的? 2.像这么多维度,这么多指标一般怎么存储比较方便? redis,mysql或者其他存储?
2021-10-14
starwolf
我觉得,如果想获得增量方法的性能,可以将processFunction的处理结果存入state,这样下次有数据来的时候,可以与其中的某些中间结果做比较,而不用再将所有数据全部处理一遍,从而达到接近增量方法性能的目的。
2020-10-12
收起评论