首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
面完就是挂了
Java
发布于辽宁
关注
已关注
取消关注
@三石大数据:
图解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-14 00:26
吉比特_软件开发部_后端软件工程师(准入职员工)
吉比特25届实习内推
注意岗位特点:专业不限岗位注意多介绍自己个人经验合综合素质,多围绕实习和岗位工作内容来展开,岗位写的xx专业优先建议把项目和大赛经验发在重点介绍⏰吉比特&雷霆游戏2024届春招&2025届暑期实习火热进行中【岗位需求】游戏策划类、市场营销类、米哈游、产品运营类、程序技术类、公共职能类、美术设计类、战略投资类【薪酬待遇】有竞争力的薪资,超体贴的福利【工作地点】深圳、厦门、广州【(务必使用电脑端投递)】https://hr.g-bits.com/mobile/index.html#/【内推码】198ZAU(渠道选择“内部推荐”,简历优先被筛选,加速流程推进)使用内推码简历优先筛选,...
投递吉比特等公司9个岗位 >
点赞
评论
收藏
转发
匿名牛油
不愿透露姓名的神秘牛友
05-14 22:43
微众属于什么级别
最近感觉微众的帖子很多,但是身边好像并没有很多人知道或者了解。请问下他在互联网或者金融这方面属于什么级别。算大厂吗,是否相对稳定,以后出来的方向是不是比较窄呢
投递微众银行等公司6个岗位 >
互联网公司评价
互联网没坑了,还能去哪里?
点赞
评论
收藏
转发
喜欢后仰跳投的起司在刷代码
昨天 17:44
东南大学 计算机类
拼多多一面
项目在项目中做了什么工作项目的分层架构数据是如何写入的(需要更新MySQL、ES、Redis)数据一致性如何保证(MySQL、ES、Redis)如何实现延时双删的、延时双删的间隔时间手撕 如何判断一个字符串是否是IPv4的地址八股异常体系Spring和SpringBoot的区别CGLib和Spring原生的代理的区别(项目中用到了)用到了SpringBoot的哪些组件科研主要做的工作是什么
投递拼多多等公司10个岗位 >
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
盲审已过,答辩已过,工作已签
2.7W
2
...
没offer的我们也很优秀偶
1.1W
3
...
【有奖活动】浅聊一下我的实习⭐
9231
4
...
快手客户端开发工程师(1)
7476
5
...
pcg qq 一面
6214
6
...
真有必要读研吗
5747
7
...
lazada许愿oc
5539
8
...
双非本 腾讯WXG暑期已offer | 附面经
5483
9
...
深夜emo了,暑假实习还是0offer
5070
10
...
今天滴滴会开奖吗
4182
正在热议
#
牛客帮帮团来啦!有问必答
#
793691次浏览
12578人参与
#
机械制造薪资爆料
#
316348次浏览
3673人参与
#
晒一晒我的offer
#
3435891次浏览
54977人参与
#
国企vs私企,你更想去?
#
19763次浏览
200人参与
#
想实习转正,又想准备秋招,我该怎么办
#
115379次浏览
1290人参与
#
海康威视求职进展汇总
#
99407次浏览
1198人参与
#
如果校招重来我最想改变的是
#
88821次浏览
1541人参与
#
0offer是寒冬太冷还是我太菜
#
423558次浏览
4886人参与
#
通信硬件2024笔试面试经验
#
86754次浏览
943人参与
#
提前批过来人的忠告
#
21628次浏览
443人参与
#
投了多少份简历才上岸
#
59757次浏览
968人参与
#
产品人求职现状
#
52241次浏览
768人参与
#
荣耀求职进展汇总
#
68660次浏览
686人参与
#
实习生如何通过转正
#
26665次浏览
355人参与
#
工作压力大怎么缓解
#
10815次浏览
156人参与
#
投递实习岗位前的准备
#
623825次浏览
11123人参与
#
简历无回复,你会继续海投还是优化再投?
#
22576次浏览
316人参与
#
学历对求职的影响
#
140119次浏览
1600人参与
#
软件开发投递记录
#
476941次浏览
7223人参与
#
你的工作大概什么时候入职?
#
4689次浏览
55人参与
牛客网
牛客企业服务