您现在的位置是:热点 >>正文
数据分析工具篇――Spark计算原理
热点435人已围观
简介...
Hadoop的MR结构和YARN结构是大数据时代的第一代产品,满足了大家在离线计算上的需求,但是针对实时运算却存在不足,为满足这一需求,后来的大佬研发了spark计算方法,大大的提高了运算效率。
Spark的计算原理
spark的结构为:
节点介绍:
Cluster Manager:在standalone模式中即为Master主节点数据,控制整个集群,监控worker。在YARN模式中为资源管理器负责分配资源,有点像YARN中ResourceManager那个角色,大管家握有所有的干活的资源,属于乙方的总包。 WorkerNode:可以干活的节点,听大管家ClusterManager差遣,是真正有资源干活的主。从节点,负责控制计算节点,启动Executor或者D分析river。 Executor:在WorkerNode上起的一个进程,相当于一个包工头,负责准备Task环境和执行。 Task:负责内存和磁盘的使用。Task是施工项目里的每一个具体的任务。 Driver:统管Task的产生与发送给Executor的,运行Application 的main()函数,是甲方的司令员。 SparkContext工具:与ClusterManager打交道的,负责给钱申请资源的,是甲方的接口人。
整个互动流程是这样的:
甲方来了个项目,创建了SparkContext,SparkContext去找ClusterManager申请资源同时给出报价,需要多少CPU和内存等资源。ClusterManager去找WorkerNode并启动Excutor,并介绍篇―Excutor给Driver认识; Driver根据施工图拆分一批批的Task,将Task送给Executor去执行; Executor接收到Task后准备Task运行时依赖并执行,并将执行结果返回给Driver; Driver会根据返回回来的Task状态不断的指挥下一步工作,直到所有Task执行结束;
运行流程及特点为:
Spark―Scontext的作用:一是分发task,申请资源等功能外,更重要的一个功能是将RDD拆分成task,即绘制DAG图。
借用上图我们再来了解一下spark的运算过程:
构建Spark Application的运行环境,启动SparkContext; SparkContext向资源管理器(可以是Standalone,Mesos,Yarn)申请运pa行Executor资源,并启动StandaloneExecutorbackend; Executor向SparkContext申请Task; SparkContext将应用程序分发给Executor; SparkContext构建成DAG图,将DAG图分解成Stage、将Taskset发送给Task Scheduler,最后由Task Srkcheduler将Task发送给Executor运行; Task在Executor上运行,运行完释放所有资源;
RDD计算案例
我们用一个案例来分析RDD的计算过程:
在客户端通过RDD构建一个RDD的图形,如图第一部分rdd1.join(rdd2).groupby(…).filter(…)。 sparkcontext中的DAGSch计算eduler会将上步的RDD图形构建成DAG图形,如图第二部分; TaskScheduler会将DAG图形拆分成多个Task; Clustermanager通过Yarn调度器将Task分配到各个node的Executer中,结合相关资源进行运算。
DAGScheduler对于RDD图形的划分是有一定规律的:
stage的划分是触发原理action的时候从后往前划分的,所以本图要从RDD_G开始划分。 RDD_G依赖于RDD_B和RDD_F,随机决定先判断哪一个依赖,但是对于结果无影响。 RDD_B与RDD_G属于窄依赖,所以他们属于同一个stage,RDD_B与老爹RDD_A之间是宽依赖的关系,所以他们不能划分在一起,所以RDD_A自己是一个stage1;数据 RDD_F与RDD_G是属于宽依赖,他们不能划分在一起,所以最后一个stage的范围也就限定了,RDD_B和RDD_G组成了Stage3; RDD_F与两个爹RDD_D、RDD_E之间是窄依赖关系,RDD_D与爹RDD_C之间也是窄依赖关系,所以他们都属于同一个stage2; 执行过程中stage1和stage2相互之间没有前分析后关系所以可以并行执行,相应的每个stage内部各个partition对应的task也并行执行; stage3依赖stage1和stage2执行结果的partition,只有等前两个stage执行结束后才可以启动stage3; 我们前面有介绍过Spark的Task有两种:ShuffleMapTask和ResultTask,其中后者在工具DAG最后一个阶段推送给Executor,其余所有阶段推送的都是ShuffleMapTask。在这个案例中stage1和stage2中产生的都是ShuffleMapTask,在stage3中产生的ResultTask; 虽然stage的划分是从后往前计算划分的,但是依赖逻辑判断等结束后真正创建stage是从前往后的。也就是说如果从st篇―age的ID作为标识的话,先需要执行的stage的ID要小于后需要执行的ID。就本案例来说,stage1和stage2的ID要小于stage3,至于stage1和stage2的ID谁大谁小是随机的,是由前面第2步决定的。
Executor是最终运行task的苦力,他将Task的执行结果反馈给Driver,会根据大小采用不同的策略:
如―S果大于MaxResultSize,默认1G,直接丢弃; 如果“较大”,大于配置的frameSize(默认10M),以taksId为key存入BlockManager else,全部吐给Driver。
Tags:
相关文章
标签: 找钢网 AI业务 国际业务 东南亚
热点云梦级3月30日云梦级消息,3月30日,找钢网集团(6676.HK)发布2025年度业绩公告。报告期内,集团实现营业收入21.2亿元,同比增长36.7%;经营现金流6.8亿元,同比增长超60%。 找钢...
【热点】
阅读更多机密文件:谷歌计划在所有平台分销游戏 包括Mac
热点新浪科技讯 北京时间8月20日早间消息,据报道,一份机密的谷歌愿景文件显示,该公司计划成为“全球最大的游戏平台”,甚至还要在Mac上分销游戏。 这份内部文件阐述了一份暂定的“五年计划”,希望创造一个单...
【热点】
阅读更多使用Webhook为Kubernetes实现基于标签的权限控制
热点Kubernetes支持名称空间级别的权限控制。但是,有时这不能满足我们的要求。例如,在Akraino ICN项目中,我们有一些高级权限要求:多个用户可以在同一名称空间中创建,更新或删除一种资源,但不...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.resilienz-akademie.com/?cat=71&s=谷歌快排操作流程【tg:seogoogle987】,UvS
- https://www.oprny.com/search.php?search_query=谷歌快排操作流程【tg:seogoogle987】,ZYx
- https://www.sweat.com/collections/vendors?q=谷歌快排操作流程【tg:seogoogle987】,fef
- https://www.tarleton.edu/news/search/谷歌快排操作流程【tg:seogoogle987】,AvE
- https://www.tumblr.com/tagged/谷歌快排操作流程【tg:seogoogle987】,Rbm
- https://www.resopal.de/catalogsearch/result/?action=SEARCH&q=谷歌快排操作流程【tg:seogoogle987】,Pj2
- https://www.military-history.org/?s=谷歌快排操作流程【tg:seogoogle987】,IBS
- https://www.krisinformation.se/en/search?q=谷歌快排操作流程【tg:seogoogle987】,Fa0
- https://www.impactpool.org/search/?type=79&q=谷歌快排操作流程【tg:seogoogle987】5pr
- https://www.wikiart.org/pt/Search/谷歌快排操作流程【tg:seogoogle987】,fM0
- https://www2.ual.es/ProyectoLates/?s=谷歌快排操作流程【tg:seogoogle987】,4nP
- https://www.selfsufficientish.com/main/?s=谷歌快排操作流程【tg:seogoogle987】,kvT
- https://www.sensorshop24.de/catalogsearch/result/index/?type=132&q=谷歌快排操作流程【tg:seogoogle987】,jiR
- https://www.polliwogs.com/search/谷歌快排操作流程【tg:seogoogle987】,33s
- https://www.yli.ro/catalogsearch/result/?q=谷歌快排操作流程【tg:seogoogle987】,tg7
- https://www.localfootdoc.com/?s=谷歌快排操作流程【tg:seogoogle987】,bwS
- https://www.whirlpool.com.hk/chinese/catalogsearch/result?cat=30&q=谷歌快排操作流程【tg:seogoogle987】,BR4
- https://www.theaerogroup.net/?cat=28&s=谷歌快排操作流程【tg:seogoogle987】,qAs
- https://hsmoa.com/search?query=谷歌快排操作流程【tg:seogoogle987】cMv
- https://www.tcv.org.uk/search/谷歌快排操作流程【tg:seogoogle987】,Kaw
- https://www.qylaws.com/search/谷歌快排操作流程【tg:seogoogle987】,X1i
- https://www.nyif.com/catalogsearch/result/?q=谷歌快排操作流程【tg:seogoogle987】,ukr
- https://www.symatoys.com/search.html?ID=UyMD6aO58bPrJvQAB1I0N69KzJBZeNPC&keyword=谷歌快排操作流程【tg:seogoogle987】,QGE
- https://www.niaogebiji.com/pc/article/search?keyword=谷歌快排操作流程【tg:seogoogle987】,IQ2
- https://www.tiktok.com/tag/谷歌快排操作流程【tg:seogoogle987】,qq3
- https://www.flickr.com/photos/tags/谷歌快排操作流程【tg:seogoogle987】niV
- https://www.wuv.edu/?s=谷歌快排操作流程【tg:seogoogle987】,EBw
- https://www.whatsonstage.com/search?cat=64&term=谷歌快排操作流程【tg:seogoogle987】,SLZ
- https://www.navymwr.org/search/?query=谷歌快排操作流程【tg:seogoogle987】,526
- https://www.vocabulary.com/dictionary/谷歌快排操作流程【tg:seogoogle987】,dmM
- https://www.xbiao.com/search/index?tpf&wd=谷歌快排操作流程【tg:seogoogle987】,q8o
- https://www.shopping.com/search.html?keyword=谷歌快排操作流程【tg:seogoogle987】,zyD
- https://www.youthforum.org/search-results?cx=4f5236218ab5e8ef9&ie=UTF-8&q=谷歌快排操作流程【tg:seogoogle987】,y9x
- https://www.duksung.ac.kr/search/front/Search.jsp?qt=谷歌快排操作流程【tg:seogoogle987】OO8
- https://www.yr.no/en/search?q=谷歌快排操作流程【tg:seogoogle987】,Eho
- https://www.thedp.com/page/search?q=谷歌快排操作流程【tg:seogoogle987】,BOY
- https://www.normani.de/search?q=谷歌快排操作流程【tg:seogoogle987】,Iwg
- https://www.remit.co.jp/vi/?s=谷歌快排操作流程【tg:seogoogle987】,sOa
- https://www.olx.ba/pretraga?trazilica=谷歌快排操作流程【tg:seogoogle987】,vpK
- https://www.repetto.jp/item/search?action=QUERY&q=谷歌快排操作流程【tg:seogoogle987】,KuU
- https://www.lifesciencesweden.se/search?q=谷歌快排操作流程【tg:seogoogle987】,qCY
- https://www.kubb-tool.bfs.admin.ch/en/search?action=CHECK&q=谷歌快排操作流程【tg:seogoogle987】,wXX
- https://www.seforall.org/search?keywords=谷歌快排操作流程【tg:seogoogle987】,dqQ
- https://www.sdcard.org/ja/?s=谷歌快排操作流程【tg:seogoogle987】,eyX
- https://www.parriscues.com/catalogsearch/result/?q=谷歌快排操作流程【tg:seogoogle987】,gVm
- https://www.duksung.ac.kr/search/front/Search.jsp?qt=谷歌快排操作流程【tg:seogoogle987】IY0
- https://www.umc.edu/search.aspx?ID=I4gnDKRS991MFcIDDzoYze4aWSAszAm7&q=谷歌快排操作流程【tg:seogoogle987】,bLt
- https://www.openstreetmap.org/search?query=谷歌快排操作流程【tg:seogoogle987】,oyb
- https://www.rollingstone.it/?ID=DVMeu3AlmzZE1cuJ2FmgmO5TSCQRb3yh&s=谷歌快排操作流程【tg:seogoogle987】,7uk
- https://www.merchbar.com/search?q=谷歌快排操作流程【tg:seogoogle987】,Ui0