FlinkFlink key 应该分配到哪个 KeyGroup 以及 KeyGroup 分配在哪个subtask
Posted 九师兄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FlinkFlink key 应该分配到哪个 KeyGroup 以及 KeyGroup 分配在哪个subtask相关的知识,希望对你有一定的参考价值。
1.概述
转载:Flink 源码:从 KeyGroup 到 Rescale
通过阅读本文你能 get 到以下点:
KeyGroup、KeyGroupRange 介绍
maxParallelism 介绍及采坑记
数据如何映射到每个 subtask 上?
任务改并发时,KeyGroup rescale 的过程
2.KeyGroup、KeyGroupRange 介绍
Flink 中 KeyedState 恢复时,是按照 KeyGroup 为最小单元恢复的,每个 KeyGroup 负责一部分 key 的数据。这里的 key 指的就是 Flink 中 keyBy 中提取的 key。
每个 Flink 的 subtask 负责一部分相邻 KeyGroup 的数据,即一个 KeyGroupRange 的数据,有个 start 和 end(这里是闭区间ÿ
以上是关于FlinkFlink key 应该分配到哪个 KeyGroup 以及 KeyGroup 分配在哪个subtask的主要内容,如果未能解决你的问题,请参考以下文章
FlinkFlink keyed State多年的误解 以及 Keyed state redistribute
FlinkFlink 的 slotSharingGroup 有什么用
FlinkFlink UpsertStreamTableSink requires that has a full primary keys if update