添加broadcast、BlobServer #26

Merged
zeekling merged 3 commits from broadcast into main 2023-08-20 14:56:32 +00:00
2 changed files with 38 additions and 0 deletions

24
basic/blobServer.md Normal file
View File

@ -0,0 +1,24 @@
Flink中提供了一种Blob服务用来进行包的管理。
Flink当中按照支持BLOB文件类型分为
- jar包被user classloader使用的jar包。
- 高负荷RPC消息。
- RPC消息长度超出了akka.framesize的大小。
- 在HA摸式中利用底层分布式文件系统分发单个高负荷RPC消息比如: TaskDeploymentDescriptor,给多个接受对象。
- 失败导致重新部署过程中复用RPC消息
- TaskManager的日志文件。
- 为了在web ui上展示taskmanager的日志。
按存储特性分为:
- `PERMANENT_BLOB`:生命周期和job的生命周期一致并且是可恢复的。会上传到BlobStore分布式文件系统中。
- `TRANSIENT_BLOB`:生命周期由用户自行管理并且是不可恢复的。不会上传到BlobStore分布式文件系统中。
![pic](https://pan.zeekling.cn/flink/basic/blobServer0001.png)
BLOB底层存储支持多种实现`HDFS`,`S3`,`FTP`等HA中使用BlobStore进行文件的恢复。

14
basic/broadcast.md Normal file
View File

@ -0,0 +1,14 @@
## 简介
Join优化可分为如下
1. `OPTIMIZER_CHOOSES`:让优化器自己选择最优的方案。
2. `BROADCAST_HASH_FIRST`:适用于左表数据远小于右表数据,会将左表数据进行广播。
3. `BROADCAST_HASH_SECOND` 适用于左表数据远大于右表数据,会将右表数据进行广播。
4. `REPARTITION_HASH_FIRST`适用于左表数据比右表数据大一点点会将左表和右表数据进行重分区将左表进行hash。
5. `REPARTITION_HASH_SECOND`适用于右表数据比左表数据大一点点会将左表和右表数据进行重分区将右表进行hash。
6. `REPARTITION_SORT_MERGE` 将左表和右表数据进行重分区,并且进行排序合并。