首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
牛客248146632号
电子科技大学 计算机类
发布于北京
关注
已关注
取消关注
@三石大数据:
图解Spark第一季【全是大厂面试题!】
Spark作为大数据计算平台后起之秀,在2014年打破了Hadoop保持的基准排序记录,使用206个节点在23分钟里完成了100TB数据的排序,而Hadoop则是使用2000个节点在72分钟的时间里完成同样数据的排序。也就是说,Spark仅用了十分之一的计算资源,获得了比Hadoop快3倍的速度。为什么速度如此之快?让我们首先探讨一下Spark的底层架构设计,揭示其中的精妙之处。一、Spark架构设计面试官:你知道Spark架构吗?标准答案:我知道的,Spark架构包括控制节点Driver,以及工作节点Executor和集群资源管理器。其中,Diver是整个架构的老大,主要负责资源申请以及任务分配等工作;Executor是一个JVM进程,专门用于计算;集群资源管理器可以是 Spark 自带的资源管理器, 也可以是 YARN 或 Mesos 等资源管理框架。总结一下,Spark 采用主从架构, 包含一个 Master(即Driver)和若干个 Worker。如果面试官继续追问:这种架构相比Hadoop有什么优势?标准答案:与Hadoop MapReduce 计算框架相比,Spark 所采用的 Executor 有两个优点:一是利用多线程来执行具体的任务,减少任务的启动开销,而MapReduce采用的是多进程模型;二是 Executor 中有一个BlockManager存储模块,会将内存和磁盘共同作为存储设备(默认使用内存,当内存不够时,会写到磁盘),当需要多轮迭代计算时,可以将中间结果存储到这个存储模块里,下次需要时,就可以直接读该存储模块里的数据,而不需要读写到 HDFS 等文件系统里,因而有效地减少了 I/O 开销, 如果面试官继续追问:Application、Job、Stage、Task之间的联系是什么?标准答案:总体而言,在 Spark 中,一个应用(Application)包含若干个作业(Job),一个作业由多个阶段(Stage)构成,一个阶段由多个任务(Task)组成。如果面试官继续追问:Spark如何运行这些作业?二、Spark运行基本流程标准答案:当一个 Spark 应用被提交时,首先需要为这个应用构建基本的运行环境,即由任务控制节点 (Driver)创建一个 SparkContext 对象,由 SparkContext 负责与资源管理器(Cluster Manager)的通信以及进行资源的申请、任务的分配和监控等,SparkContext 会向资源管理器注册并申请运行 Executor的资源,SparkContext 可以看成是应用程序连接集群的通道。 资源管理器为Executor分配资源,并启动Executor进程,Executor运行情况将随着心跳发送到资源管理器上。 SparkContext根据RDD的依赖关系构建DAG图,并将DAG图提交给 DAG 调度器(DAGScheduler)进行解析,将 DAG 图分解成多个阶段(每个阶段都是一个任务集),并且计算出各个阶段之间的依赖关系,然后把一个个“任务集”提交到底层的任务调度器(TaskScheduler)进行处理;Executor 向 SparkContext 申请任务,任务调度器将任务分发给 Executor 运行,同时,SparkContext 将应用程序代码发放给 Executor。 任务在 Executor 上运行,把执行结果反馈给任务调度器,然后反馈给 DAG 调度器,运行完毕后写入数据并释放所有资源。
点赞 4
评论 0
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
有梦想的幼儿猿
05-12 20:28
已编辑
南京邮电大学 计算机类
【24年4月】腾讯QQ后台开发一面和二面(凉)
一面过了,二面挂了。一面-45min算法求多个数组的交集面试官让我先说思路,我说了两个位图(需要说清楚,因为数组给的是INT32,那么我们就需要2的32比特的长度,需要开一个2^32/64长度的long long数组)set后来用set来写的。不难,先用一个数组创建一个set,再创建一个tempSet,然后遍历数组,得到两个数组的交集tempSet,set=tempSet,直到遍历完毕全部数组。八股实习经历?巴拉巴拉随便说了下Linux用过那些命令?磁盘满了怎么用命令看是哪一个文件夹占用的?(我说df可以看整个磁盘的占用,怎么找到某个文件夹就不知道了) 1、进入根目录:cd / 2、使用命令...
凉凉面试记录
点赞
评论
收藏
转发
一箬烟雨
05-13 21:34
四川大学 计算机类
美团一面 5-7 凉
面试时长40分钟项目:一开始询问一项目有没有上线:没有项目的背景,为什么做这个项目登录缓存一致性ES索引项目上遇到过棘手的问题八股hashmap的原理,解决哈希冲突的方法乐观锁和悲观锁,在mysql中的数据库的底层实现是怎么样的AOP是怎么使用的CAP理论算法如何不用全文排序的情况下,找到一大串数字的中位数答案:如果能放入内存,直接用类似快排的pivot(基准的做法)的做法*******************套路问题另外就是你在过去几年的这个实践的学习或者实践的过程中,有没有什么情况下觉得自己的能力不够,然后又是怎么有针对性的去提升的呢?没准备的特别好,一开始心态接近崩溃,后面破罐子破摔确实...
点赞
评论
收藏
转发
hhhc7
04-22 14:27
已编辑
Java
美团面试结果
4.11 一面4.15 二面今天早上进人才库,然后过了一个小时又被捞出来了。发短信问二面面试官,回复如图。这是offer的意思吗?还是在排序啊,各位牛爷爷帮忙看看谢谢各位牛爷爷更新 4.22 已oc+offer祝大家都能收获自己想要的offer #24届软开秋招面试经验大赏# #如何判断面试是否凉了# #牛客解忧铺# #美团# #美团oc# #美团OC#
24届软开秋招面试经验大赏
如何判断面试是否凉了
点赞
评论
收藏
转发
想回学校的大魔王等一个offer
04-27 11:47
河南农业大学 计算机类
求!
双非一本,正在自学JAVA,学到框架springboot感觉不太喜欢,想转运维,想在暑期找实习,应该具体学习什么呀 运维和实施有关联吗,有过一段测试实习,但是对测试不太感兴趣,家人们有什么建议
点赞
评论
收藏
转发
952789
昨天 22:57
福州大学 电子信息类
实习offer请查收
银行实习大开杀戒,这算是学历厂了吧
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
5.16校招&实习招聘信息汇总
8585
2
...
阿里oc
5602
3
...
送花给牛友,不做“白嫖党”!牛客互动新功能上线啦!
5449
4
...
给25届同学: 永远相信美好的事情即将发生
5296
5
...
腾讯一面凉经 5.16
5178
6
...
CS硕 只看40w+且965 能投啥
4975
7
...
二本漫漫求职路......
3704
8
...
为什么选择做测试开发
3199
9
...
虎哥の致谢
3026
10
...
C++菜鸡的暑期实习总结(待补充)
2836
正在热议
#
牛客帮帮团来啦!有问必答
#
754502次浏览
11990人参与
#
海康威视求职进展汇总
#
95124次浏览
1147人参与
#
你的工作大概什么时候入职?
#
3011次浏览
42人参与
#
非技术2024笔面经
#
181142次浏览
3045人参与
#
非技术岗是怎么找实习的
#
75975次浏览
1419人参与
#
产品实习,你更倾向大公司or小公司
#
37588次浏览
579人参与
#
找工作,你会甘心进小厂还是猛冲大厂
#
36198次浏览
361人参与
#
面试等了一周没回复,还有戏吗
#
41332次浏览
508人参与
#
春招已经启动啦 硬件uu开始投了吗?
#
86422次浏览
676人参与
#
今年形式下双非本找得到工作吗
#
7658次浏览
161人参与
#
学历对求职的影响
#
135085次浏览
1542人参与
#
浅聊一下我实习的辛苦费
#
82772次浏览
775人参与
#
如何看待offer收割机的行为
#
226349次浏览
3269人参与
#
百度工作体验
#
23974次浏览
248人参与
#
2022届毕业生现状
#
321253次浏览
4448人参与
#
华为求职进展汇总
#
522828次浏览
4989人参与
#
0offer是寒冬太冷还是我太菜
#
418236次浏览
4843人参与
#
铜五铁六真的存在吗?
#
29209次浏览
302人参与
#
想实习转正,又想准备秋招,我该怎么办
#
112197次浏览
1258人参与
#
通信硬件人笔面经互助
#
115957次浏览
2298人参与
牛客网
牛客企业服务