站群论坛,iis 建设网站,电子商务类型的网站,江苏搜索引擎优化公司什么是“弹性”#xff1f;
一般对于分布式系统#xff0c;“弹性”指的是可以根据计算规模进行动态伸缩的特性。当计算量增长时#xff0c;可以动态增加资源来满足计算需求#xff0c;而当计算量减少时#xff0c;又可以降低资源配置来节约成本。 参考#xff1a;什么是…什么是“弹性”
一般对于分布式系统“弹性”指的是可以根据计算规模进行动态伸缩的特性。当计算量增长时可以动态增加资源来满足计算需求而当计算量减少时又可以降低资源配置来节约成本。 参考什么是弹性伸缩ess_弹性伸缩(ESS)-阿里云帮助中心 我们在看一下RDD定义Resilient Distributed Datasets译为弹性分布式数据集是一种基于集群内存计算的一种抽象。
所以从定义上看RDD也是基于分布式系统的主要是通过集群的内存资源来进行数据缓存与计算的所以RDD的弹性是基于数据量的变化可以动态的增加或者减少相应的资源(比如内存)来满足计算需求。
RDD的弹性体现
RDD的Partition和Partitioner是弹性的基础
Map端input split决定了Map端的分区数分区数进一步决定了map阶段task的数量Shuffle的Map阶段才使用的分区器partitioner又决定了reduce阶段task的数量。
分区的动态可调是弹性的体现
可以根据数据量的大小通过repartition、coalesce算子来增加或者减少分区数来决定Task数的多少。
对应的计算资源调整可以通过提交任务时的参数来调整也可以设置成动态调整方式。
容错属不属于弹性
容错是用来保障稳定性的划分到“高可用”更合适跟弹性没有太大关系。
比如根据血缘对RDD进行出错后的恢复Stage、Task失败的重试等。
主从架构属不属于弹性
比如BlockManagerMaster和BlockManager是主从架构的这个属于分布式系统的基本架构设计属于系统层面的弹性不属于RDD层面的弹性。