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

全部留言(8)

  • 最新
  • 精选
yang
split 是作用在dataStream上,偏上层一些, 所有tag应用的是同一个outputSelector 所以 在这个selector产生的流的类型是相同的 outputTag 作用在processFunction中,应该偏底层一些, 过滤的时候可以定义不同的tag, 所以就会产生不同类型的流 相比于split侧输出流的优势在于可以输出多股不同类型的流吧

作者回复: 正解

2020-10-19
2
8
泊浮目
从课程上的已知内容来讲,SplitOutput直接作用在ProcessFunction上则可以让任何一层的API使用到它,而不是仅仅对StreamAPI。这也是它的优势之一 ——不和StreamAPI绑定;另外一个优势则是可以输出和输入类型不同的数据。

作者回复: 可以这么理解

2020-10-04
2
Pyer
split的话不能输出任意类型的数据,但是sideoutput可以. 放在process function里面做,是为了可以更灵活,拿到流数据的更多信息。 这么理解不知道对不对

作者回复: 正确

2020-10-02
Allan
我觉得Sideoutput更加灵活,不拘于类型的限制,可以根据需要创建多个output。
2021-03-03
2
°晓栎ゞ
了解了split和sideoutput的区别 但没搞懂streamsplit一个源和一个源被不同的filter过滤有什么区别呢
2020-12-13
1
bbbi
老师你好! 我的sideOutPutTag 定义在main 函数中,但是我的 process 定义在新的类中,怎么把这个tag传入到新的 process 中呢,通过参数可以么?
2021-05-27
2
一十六夜
老师,OutputTag的泛型只能是String么,我用JSONObject的话,会报错:com.alibaba.fastjson.JSONObject cannot be cast to java.lang.String.......This can occur when multiple OutputTags with different types but identical names are being used 我想问下,这种应该怎么写呢
2021-04-14
1
Phantom01
如果要同时做数据转换和切分 side output 会比 split 少一个 operator,写法上会紧凑一些。效率上可能看实现上具体怎么调度吧。 然后比较好奇的是,在实现上如果切分成多个流来处理,是会把上游的处理结果读多遍吗? 比如 transfer + filter * N 的方式来生成下游的 N 个流。
2020-12-21
收起评论