在线客服
扫描二维码
下载博学谷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运行架构及其特点的讲解,大家都听明白了吗?
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
数据库开发转行大数据开发工程师怎么样?
数据库开发转行大数据开发工程师怎么样?大数据的方向的工作有大数据运维工程师、大数据开发工程师、数据分析、数据挖掘、架构师等。有工作经验想转行大数据开发主要考察基础、学习能力、解决问题的能力。
14346
2019-05-20 17:54:38
为什么大数据和云计算备受关注,大数据与云计算的关系
互联网技术不断突破与革新,大数据和云计算的概念现在已经成为互联网的热门词汇。为什么大数据和云计算这样备受关注呢?他们之间有什么关系?相信很多小伙伴也存在这样的疑问。
9518
2019-06-12 17:36:02
零基础学大数据现实吗?需要经历哪些过程?
零基础学大数据现实吗?需要经历哪些过程?首先我们要明白学习任何东西都是从无到有,零基础学习大数据并没有什么劣势,只不过是比有一定编程基础的学习者多付出一些努力,因此不要随意给自己设限,认为零基础这不能学,那不能学。其次零基础学习者要学好大数据无外乎两点,一是清晰的学习内容规划,二是适合自己的学习模式。下面小编就来讲讲零基础如何学习大数据。
8891
2019-10-09 16:02:32
什么叫大数据时代?它有哪些特点?
随着互联网技术和信息技术的发展,大数据在金融、资讯、娱乐、电商等等行业被广泛地应用,因此毫不夸张地说,我们已经全面迎来了一个大数据的时代。虽然我们常常提起大数据,但其实对于大数据时代的理解还仍旧比较浅显。本文将从大数据时代的特点、海量的数据处理以及面对的挑战,来和大家好好聊聊大数据时代。
11784
2020-06-02 15:07:21
什么人适合学习大数据开发?学大数据难吗?
有不少应届大学毕业生和0基础人群选择学大数据,但是要选择零基础的大数据培训班,从Java基础开始学习,由浅入深掌握离线数据分析、实时数据分析和内存数据计算等重要内容。
7378
2020-11-26 15:20:18
