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

Posted manor的大数据奋斗之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day24——Spark11相关的知识,希望对你有一定的参考价值。

前言

大家好,我是程序员manor。作为一名大数据专业学生、爱好者,深知面试重要性,很多学生已经进入暑假模式,暑假也不能懈怠,正值金九银十的秋招
接下来我准备用30天时间,基于大数据开发岗面试中的高频面试题,以每日5题的形式,带你过一遍常见面试题及恰如其分的解答。

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

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


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

面试题 01、spark.default.parallelism这个参数有什么意义,实际生产中如何设置?
面试题02、spark.shuffle.memoryFraction参数的含义,以及优化经验?
面试题 03、Spark中standalone模式特点,有哪些优点和缺点?
面试题04、FIFO调度模式的基本原理、优点和缺点?
面试题05、FAIR调度模式的优点和缺点?

以下答案仅供参考:

面试题 01、spark.default.parallelism这个参数有什么意义,实际生产中如何设置?

1)参数用于设置每个stage的默认task数量。这个参数极为重要,如果不设置可能会直接影响你的Spark作业性能;
2)很多人都不会设置这个参数,会使得集群非常低效,你的cpu,内存再多,如果task始终为1,那也是浪费, spark官网建议task个数为CPU的核数*executor的个数的2~3倍。

面试题02、spark.shuffle.memoryFraction参数的含义,以及优化经验?

1)spark.shuffle.memoryFraction是shuffle调优中 重要参数,shuffle从上一个task拉去数据过来,要在Executor进行聚合操作, 聚合操作时使用Executor内存的比例由该参数决定,默认是20%如果聚合时数据超过了该大小,那么就会spill到磁盘,极大降低性能;
2)如果Spark作业中的RDD持久化操作较少,shuffle操作较多时,建议降低持久化操作的内存占比,提高shuffle操作的内存占比比例, 避免shuffle过程中数据过多时内存不够用,必须溢写到磁盘上,降低了性能。此外,如果发现作业由于频繁的gc导致运行缓慢,意味着task执行用户代码的内存不够用, 那么同样建议调低这个参数的值。

面试题03、Spark中standalone模式特点,有哪些优点和缺点?

1)特点: (1)standalone是master/slave架构,集群由Master与Worker节点组成,程序通过与Master节点交互申请资源,Worker节点启动Executor运行; (2)standalone调度模式使用FIFO调度方式; (3)无依赖任何其他资源管理系统,Master负责管理集群资源。
2)优点: (1)部署简单; (2)不依赖其他资源管理系统。
3)缺点: (1)默认每个应用程序会独占所有可用节点的资源,当然可以通过spark.cores.max来决定一个应用可以申请的CPU cores个数; (2)可能有单点故障,需要自己配置master HA。

面试题04、FIFO调度模式的基本原理、优点和缺点?

基本原理:按照先后顺序决定资源的使用,资源优先满足最先来的job。
第一个job优先获取所有可用的资源,接下来第二个job再获取剩余资源。 以此类推,如果第一个job没有占用所有的资源,那么第二个job还可以继续获取剩余资源,这样多个job可以并行运行,如果第一个job很大,占用所有资源, 则第二job就需要等待,等到第一个job释放所有资源。
优点和缺点:
1)适合长作业,不适合短作业;
2)适合CPU繁忙型作业(计算时间长,相当于长作业),不利于IO繁忙型作业(计算时间短,相当于短作业)。

面试题05、FAIR调度模式的优点和缺点?

所有的任务拥有大致相当的优先级来共享集群资源,spark多以轮训的方式为任务分配资源,不管长任务还是端任务都可以获得资源,并且获得不错的响应时间, 对于短任务,不会像FIFO那样等待较长时间了,通过参数spark.scheduler.mode 为FAIR指定。

总结

今天我们复习了面试中常考的Spark相关的五个问题,你做到心中有数了么?
其实做这个专栏我也有私心,就是希望借助每天写一篇面试题,督促自己学习,以免在面试期间尴尬!平时不流汗,面试多流泪!
对了,如果你的朋友也在准备面试,请将这个系列扔给他,
好了,今天就到这里,学废了的同学,记得在评论区留言:打卡。给同学们以激励。

以上是关于大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day24——Spark11的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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