当前位置: 首页 > news >正文

【Spark精讲】Spark RDD弹性体现在哪些方面?

什么是“弹性”?

一般对于分布式系统,“弹性”指的是可以根据计算规模进行动态伸缩的特性。当计算量增长时,可以动态增加资源来满足计算需求,而当计算量减少时,又可以降低资源配置来节约成本。

参考:什么是弹性伸缩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层面的弹性。

相关文章:

  • python多版本共存
  • PyTorch官网demo解读——第一个神经网络(2)
  • C++:类和对象(1)
  • 亿发零售云引领新零售时代:智能收银系统助力连锁门店多业态发展
  • Flink CDC 3.0 正式发布,详细解读新一代实时数据集成框架
  • Linux 使用 Anaconda+Uwsgi 部署 Django项目和前端项目
  • 13、Kafka副本机制详解
  • 在 Cray Linux 上配置 LSF 集成
  • 全面掌握XSS漏洞攻击,实战案例从Self-XSS到账户接管,以及通过参数污染的XSS实现攻击
  • 设计模式——组合模式(结构型)
  • 如何提升数据结构方面的算法能力?
  • Leetcode 376 摆动序列
  • 计算机论文写作助手
  • 隐私计算介绍
  • 5G边缘网关如何助力打造隧道巡检机器人
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • angular组件开发
  • EOS是什么
  • es的写入过程
  • JS实现简单的MVC模式开发小游戏
  • linux学习笔记
  • magento2项目上线注意事项
  • OSS Web直传 (文件图片)
  • Spring Cloud中负载均衡器概览
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 前端之React实战:创建跨平台的项目架构
  • 思否第一天
  • 算法之不定期更新(一)(2018-04-12)
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 用mpvue开发微信小程序
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #define 用法
  • (2020)Java后端开发----(面试题和笔试题)
  • (ZT)薛涌:谈贫说富
  • (力扣)1314.矩阵区域和
  • (力扣)循环队列的实现与详解(C语言)
  • .NET MVC 验证码
  • .NET Project Open Day(2011.11.13)
  • .net refrector
  • .net 受管制代码
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net程序集学习心得
  • .Net的DataSet直接与SQL2005交互
  • .net中我喜欢的两种验证码
  • @Transactional 竟也能解决分布式事务?
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [51nod1610]路径计数
  • [C#]winform部署PaddleOCRV3推理模型
  • [CF226E]Noble Knight's Path
  • [ERROR] Plugin 'InnoDB' init function returned error
  • [FROM COM张]如何解决Nios II SBTE中出现的undefined reference to `xxx'警告
  • [iOS]GCD(一)
  • [NET].NET Framework 3.5 SP1 真正的离线安装(转)
  • [NOIP2014普及组]子矩阵