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

89 阅读3分钟

相信只要一路走来,日积月累,我们终会在最高处见。
以古人的话共勉:道阻且长,行则将至;行而不辍,未来可期!

在这里插入图片描述

本栏目大数据开发岗高频面试题主要出自大数据技术专栏的各个小专栏,由于个别笔记上传太早,排版杂乱,后面会进行原文美化、增加。

文章目录

停🤚
不要往下滑了,
默默想5min,
看看这5道面试题你都会吗?

面试题01、spark工作机制?
面试题02、spark的优化怎么做?
面试题03、数据本地性是在哪个环节确定的?
面试题04、RDD的弹性表现在哪几点?
面试题05、RDD有哪些缺陷?

在这里插入图片描述

在这里插入图片描述

以下答案仅供参考:

面试题 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如果失败会自动进行特定次数的重试,而且只会计算失败的分片;

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

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

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!