在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
Spark应用程序以进程集合为单位在分布式集群上运行,通过driver程序的main方法创建的SparkContext对象与集群交互。本文主要内容有Spark运行架构的流程讲解和Spark运行架构的特点分析,感兴趣的小伙伴就赶紧看下去吧!

1、Spark 运行基本流程:
(1)构建 Spark Application 的运行环境(启动 SparkContext),SparkContext 向资源管理器(可以是 Standalone、Mesos 或 YARN)注册并申请运行 Executor 资源。
(2)资源管理器分配 Executor 资源并启动 Executor,Executor 运行情况将随着心跳发送到资源管理器上。
(3)SparkContext 构建成 DAG 图,将 DAG 图分解成 Stage,并把 Taskset发送给 Task Scheduler。Executor 向 SparkContext 申请 Task,Task Scheduler 将Task 发放给 Executor 运行同时 SparkContext 将应用程序代码发放给 Executor。
(4)Task 在 Executor 上运行,运行完毕释放所有资源。
2、Spark 运行架构的特点:
(1)每个 Application 获取专属的 executor 进程,该进程在 Application 期间一直驻留,并以多线程方式运行 tasks。
(2)Spark 任务与资源管理器无关,只要能够获取 executor 进程,并能保持相互通信就可以了。
(3)提交 SparkContext 的 Client 应该靠近 Worker 节点(运行 Executor 的节点),最好是在同一个 Rack 里,因为 Spark 程序运行过程中SparkContext 和Executor 之间有大量的信息交换;如果想在远程集群中运行,最好使用 RPC 将SparkContext 提交给集群,不要远离 Worker 运行 SparkContext。
(4)Task 采用了数据本地性和推测执行的优化机制。
以上就是Spark运行架构及其特点的讲解,大家都听明白了吗?
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
数据挖掘、数据分析以及大数据之间的区别有哪些?
进入大数据时代,和数据相关的名词都被人们津津乐道。那数据挖掘、数据分析以及大数据之间有哪些区别呢?数据挖掘是发现信息以及收集数据的过程;数据分析则是将现有数据进行归纳以及分析得出相应结论的过程。而大数据则更加关注数据本身,重要表现就是数据量大,数据的多样性等等。
16994
2019-06-20 18:11:53
参加大数据培训能找哪些工作?需要具备什么技能?
马云说我们进入了date时代。数据经代替大部分经验成为企业发展的指导准则。对于我们个体而言,首先我们的日常行为以及记录都是大数据的一部分。与此同时面对大数据的发展我们也有了更多的职业机会。因此很多小伙伴纷纷进入大数据培训学校,深化学习大数据技术。那现在参加大数据培训能找哪些工作?分别需要什么技能呢?
13283
2019-07-09 17:03:42
大数据从零开始入门自学书籍推荐
如今,有数据的地方就有大数据,大数据的火爆也造就了大数据人才在就业市场上的抢手。随着未来大数据的进一步发展,大数据的人才空缺会越来越大。正因如此,许多人都想在大数据时代的浪口,掌握这门安身立命的本领和技能。对于那些从零开始入门自学大数据的朋友,本文将推荐几本适合小白学习的书籍,希望对大家有所帮助。
8364
2019-12-27 17:08:42
推荐零基础学习大数据的10本经典图书
学习大数据并不是一蹴而就的事情,及时工作多年的开发工程师都需要不断的补充新鲜的知识内容。目前学习大数据知识可以通过视频和图书两种方式学习,视频的优势在于能够将老师的个人开发经验传授给学习者,而图书的优势在于能够随时翻阅,内容比较丰富。这里为大家推荐零基础学习大数据的8本经典图书,希望同学们能够通过不同的学习途径充分掌握大数据开发技能。
8513
2020-09-14 16:01:31
大数据开发和软件开发哪个前景好?
大数据开发学习有难度,零基础入门要先学习Java语言打基础,然后进入大数据技术体系的学习,学习Hadoop、Spark、Storm等知识。软件开发工程师根据不同的学科从事的岗位也千差万别。
8471
2020-10-15 09:41:45
