diff --git a/basic/blobServer.md b/basic/blobServer.md new file mode 100644 index 0000000..2a22ad9 --- /dev/null +++ b/basic/blobServer.md @@ -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进行文件的恢复。 + diff --git a/basic/broadcast.md b/basic/broadcast.md new file mode 100644 index 0000000..8b1142a --- /dev/null +++ b/basic/broadcast.md @@ -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`: 将左表和右表数据进行重分区,并且进行排序合并。 + + +