大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day27】——Spark14(1)

在这里插入图片描述

在这里插入图片描述

以下答案仅供参考:

面试题 01、 spark工作机制?

① 构建Application的运行环境,Driver创建一个SparkContext

② SparkContext向资源管理器(Standalone、Mesos、Yarn)申请Executor资源,资源管理器启动StandaloneExecutorbackend(Executor)

③ Executor向SparkContext申请Task

④ SparkContext将应用程序分发给Executor

⑤ SparkContext就建成DAG图,DAGScheduler将DAG图解析成Stage,每个Stage有多个task,形成taskset发送给task Scheduler,由task Scheduler将Task发送给Executor运行

⑥ Task在Executor上运行,运行完释放所有资源

面试题02、spark的优化怎么做?

spark调优比较复杂,但是大体可以分为三个方面来进行

1)平台层面的调优:防止不必要的jar包分发,提高数据的本地性,选择高效的存储格式如parquet

2)应用程序层面的调优:过滤操作符的优化降低过多小任务,降低单条记录的资源开销,处理数据倾斜,复用RDD进行缓存,作业并行化执行等等

3)JVM层面的调优:设置合适的资源量,设置合理的JVM,启用高效的序列化方法如kyro,增大off head内存等等

面试题03、数据本地性是在哪个环节确定的?

具体的task运行在那他机器上,dag划分stage的时候确定的

面试题04、RDD的弹性表现在哪几点?

1)自动的进行内存和磁盘的存储切换;

2)基于Lineage的高效容错;

3)task如果失败会自动进行特定次数的重试;

4)stage如果失败会自动进行特定次数的重试,而且只会计算失败的分片;

5)checkpoint和persist,数据计算之后持久化缓存;

6)数据调度弹性,DAG TASK调度和资源无关;

7)数据分片的高度弹性。

面试题05、RDD有哪些缺陷?

1)不支持细粒度的写和更新操作(如网络爬虫),spark写数据是粗粒度的。所谓粗粒度,就是批量写入数据,为了提高效率。但是读数据是细粒度的也就是说可以一条条的读。

2)不支持增量迭代计算,Flink支持

总结

今天我们复习了面试中常考的Spark相关的五个问题,你做到心中有数了么?
其实做这个专栏我也有私心,就是希望借助每天写一篇面试题,督促自己学习,以免在面试期间尴尬!平时不流汗,面试多流泪!

对了,如果你的朋友也在准备面试,请将这个系列扔给他,
好了,今天就到这里,学废了的同学,记得在评论区留言:打卡。给同学们以激励。

在这里插入图片描述

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

需要这份系统化资料的朋友,可以戳这里获取

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值