在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Spark作为一种分布式的计算框架,类似于大数据开发中Hadoop生态圈的MapReduce,计算思想和MR非常相似,两者都是分而治之的思想,但使用率要比MR高很多。本文整理了关于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 采用了数据本地性和推测执行的优化机制。
3、Spark的优势:
(1)计算效率高
资源复用;粗粒度的资源调度。
(2)使用方便
支持使用多门语言来编写;提供了超过80多种方法来供我们使用。
(3)通用性强
Spark生态圈中的组件都是基于SparkCore封装起来的。
(4)适应性强
可以接受上百种数据源;可以运行在各种各样的资源调度框架上。
以上就是大数据面试题,所有关于Spark运行架构的内容,不知道对大家梳理Spark运行架构的知识点,有没有帮助?
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据Hbase面试宝典(中)
应广大同学的需求,本文继续整理了大数据HBase面试问题,希望大家阅读本篇文章以后有所收获,能够对大数据技术的理解更加深入和全面。
8738
2019-07-04 13:58:56
大数据面试题 Hadoop的联邦机制
大数据学习需要掌握很多技术知识点,包括Linux、Zookeeper、Hadoop、Redis、HDFS、MapReduce、Hive、lmpala、Hue、Oozie、Storm、Kafka、Spark、Scala、SparkSQL、Hbase、Flink、机器学习等。今天主要和大家分享一下Hadoop的联邦机制。
10017
2019-07-18 23:40:42
如何激活conda环境?conda创建新环境步骤教程
如何激活conda环境?针对这个问题,本教程将手把手按照创建、激活、查看活跃的环境三个步骤教大家conda创建新环境。
28138
2019-08-07 15:38:03
Redis是什么?Redis有哪些数据类型?
Redis是什么?Redis是一个高性能且免费的key-value数据库,它可以解决高并发、高扩展和大数据存储等等问题,因此Redis对大数据的作用至关重要。那么Redis有哪些数据类型呢?简单来说有string、hash、list、set、zset五种,下面小编将来详细分析一下这五种数据类型。
6840
2019-11-11 17:51:24
大数据分析的方法有几种?
大数据分析的方法有几种?大数据分析六种方法:数字和趋势、维度分解、用户分群、转化漏斗、行为轨迹、留存分析。看数字及趋势是最基础进行展示相关数据管理信息的方法,对于谁符合一定的行为或背景资料,分类处理用户。
4967
2020-07-22 15:59:31