Flink状态的缩放与键组设计
13页1、 Flink状态的缩放与键组设计 前言在之前那篇讲解Flink Timer的文章里,我曾经用三言两语简单解释了Key Group和KeyGroupRange的概念。实际上,Key Group是Flink状态机制中的一个重要设计,值得专门探究一下。本文先介绍Flink状态的理念,再经由状态主要是Keyed State的缩放(rescale)引出KeyGroup的细节。再认识Flink状态自从开始写关于Flink的东西以来,“状态”这个词被提过不下百次,却从来没有统一的定义。Flink官方博客中给出的一种定义如下:When it comes to stateful stream processing, state comprises of the information that an application or stream processing engine will remember across events and streams as more realtime (unbounded) and/or offline (bounded) data flow through th
2、e system.根据这句话,状态就是流处理过程中需要“记住”的那些数据的快照。而这些数据既可以包括业务数据,也可以包括元数据(例如Kafka Consumer的offset)。以最常用也是最可靠的RocksDB状态后端为例,状态数据的流动可以抽象为3层,如下图所示。用户代码产生的状态实时地存储在本地文件中,并且随着Checkpoint的周期异步地同步到远端的可靠分布式文件系统(如HDFS)。这样就保证了100%本地性,各个Sub-Task只需要负责自己所属的那部分状态,不需要通过网络互相传输状态数据,也不需要频繁地读写HDFS,减少了开销。在Flink作业重启时,从HDFS取回状态数据到本地,即可恢复现场。我们已经知道Flink的状态分为两类:Keyed State和Operator State。前者与每个键相关联,后者与每个算子的并行实例(即Sub-Task)相关联。下面来看看Keyed State的缩放。Keyed State的缩放所谓缩放,在Flink中就是指改变算子的并行度。Flink是不支持动态改变并行度的,必须先停止作业,修改并行度之后再从Savepoint恢复。如果没有
3、状态,那么不管scale-in还是scale-out都非常简单,只要做好数据流的重新分配就行,如下图的例子所示。可是如果考虑状态的话,就没有那么简单了:并行度改变之后,HDFS里的状态数据该按何种规则取回给新作业里的各个Sub-Task?下图示出了这种困局。按照最naive的思路考虑,Flink中的key是按照hash(key) % parallelism的规则分配到各个Sub-Task上去的,那么我们可以在缩放完成后,根据新分配的key集合从HDFS直接取回对应的Keyed State数据。下图示出并行度从3增加到4后,Keyed State中各个key的重新分配。在Checkpoint发生时,状态数据是顺序写入文件系统的。但从上图可以看出,从状态恢复时是随机读的,效率非常低下。并且缩放之后各Sub-Task处理的key有可能大多都不是缩放之前的那些key,无形中降低了本地性。为了解决这两个问题,在FLINK-3755对Keyed State专门引入了Key Group,下面具体看看。引入Key Group如果看官有仔细读Flink官方文档的话,可能对这个概念已经不陌生了,原话抄录如
《Flink状态的缩放与键组设计》由会员ji****81分享,可在线阅读,更多相关《Flink状态的缩放与键组设计》请在金锄头文库上搜索。
药物合成优化-绿色环保新工艺
网络安全运营中心的技术和实践
环境教育与公众参与-第2篇分析
五金行业跨境电商与全球化发展
量化交易策略的执行算法优化
食品中营养成分的检测与评价
牛黄清火丸抗过敏性鼻炎作用与信号通路机制
新能源在航空航天领域的机遇
物联网企业信息系统定制开发的智能制造与工业0
纤维素纳米晶增强纺织材料的性能研究
污染物生态风险评估与防控技术
无人船在海洋经济中的应用
智慧城市与专业服务业产业融合发展策略研究
基于光子的量子信息处理研究
奥拉西坦治疗创伤后应激障碍的研究
四元组群表示理论及应用
农业品牌建设与营销策略研究
复杂网络中的结构筛选
高血压并发症健康教育干预效果
中药材仓储国际化与全球化发展
2022-03-24 12页
2022-03-24 11页
2022-03-24 10页
2022-03-24 25页
2022-03-24 13页
2022-03-24 18页
2022-03-24 10页
2022-03-24 32页
2022-03-24 8页
2022-03-24 9页