opertor chain
This commit is contained in:
parent
ba95930f84
commit
d7aaf1ca27
@ -45,7 +45,7 @@ Flink SQL学习笔记提纲。持续更新。Hive SQL 离线Join VS Flink SQL
|
|||||||
|
|
||||||
- [Flink CEP](./basic/CEP.md)
|
- [Flink CEP](./basic/CEP.md)
|
||||||
- [旁路输出](./basic/旁路输出.md)
|
- [旁路输出](./basic/旁路输出.md)
|
||||||
|
- [Flink Operator Chain](./basic/Flink_Operator_chain.md)
|
||||||
|
|
||||||
# Flink 源码
|
# Flink 源码
|
||||||
|
|
||||||
|
23
basic/Flink_Operator_chain.md
Normal file
23
basic/Flink_Operator_chain.md
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
## 简介
|
||||||
|
|
||||||
|
Operator Chain 字面意思就是操作链,在Flink中就是将满足一定条件的Operator放到一个算子里面执行,这样就能有效减少
|
||||||
|
算子之间的数据传输,从而达到作业性能优化的目的。
|
||||||
|
|
||||||
|
例如常见的算子:`source->map->filter` 可以合并到一个算子里面。
|
||||||
|
|
||||||
|
## Operator Chain
|
||||||
|
|
||||||
|
### 条件
|
||||||
|
|
||||||
|
- 下游节点的入度为1.
|
||||||
|
- 上下游节点都在同一个slot group。
|
||||||
|
- 前后算子不为空。
|
||||||
|
- 上游节点的chain策略为ALWAYS或HEAD(只能与下游下游链接,不能和下游链接,Source默认为HEAD)
|
||||||
|
- 下游节点和chain策略为ALWAYS(可以与下游链接,map、flatmap、filter等默认是ALWAYS)
|
||||||
|
- 两个节点之间的物理分区逻辑是ForwardPartitioner
|
||||||
|
- 两个算子之间的shuffle方式不等于批处理模式。
|
||||||
|
- 上下游并行度一致。
|
||||||
|
- 用户没有禁用chain: `stream.isChainingEnabled()`或者配置为:`pipeline.operator-chaining=true`
|
||||||
|
|
||||||
|
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
- [旁路输出](./旁路输出.md)
|
- [旁路输出](./旁路输出.md)
|
||||||
- [Flink CEP](./CEP.md)
|
- [Flink CEP](./CEP.md)
|
||||||
|
- [Flink Operator Chain](./Flink_Operator_chain.md)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user