在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
众所周知,Spark作为一个集群计算平台和内存计算系统,它是专门为速度和通用目标设计的。从事大数据岗位的工作者,像是ETL工程师、Spark工程师、Hbase工程师、用户画像系统工程师都需要熟练掌握Spark相关知识点,因此Spark也是常常会出现的必考面试题。下面我整理了一些Spark面试题,并附上了答案,一起来看看做一做吧!
面试题1:Spark 运行架构的特点是什么?
答案:每个 Application 获取专属的 executor 进程,该进程在 Application 期间一直驻留,并以多线程方式运行 tasks。Spark 任务与资源管理器无关,只要能够获取 executor 进程,并能保持相互通信就可以了。提交 SparkContext 的 Client 应该靠近 Worker 节点(运行 Executor 的节点),最好是在同一个 Rack 里,因为 Spark 程序运行过程中 SparkContext 和Executor 之间有大量的信息交换;如果想在远程集群中运行,最好使用 RPC 将SparkContext 提交给集群,不要远离 Worker 运行 SparkContext。Task 采用了数据本地性和推测执行的优化机制。
面试题2:描述一下Spark运行的基本流程。
答案:这个是面试大数据岗位的一道基础题。Spark 运行基本流程可以参考下面的示意图:
面试题3:Spark 中的 RDD 是什么?
答案:RDD(Resilient Distributed Dataset)叫做分布式数据集,是 Spark 中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD 中的数据可以存储在内存或者是磁盘,而且RDD 中的分区是可以改变的。
面试题4:Spark 中的常用算子有哪些区别?
答案:map : 用 于 遍 历 RDD , 将 函 数 f 应 用 于 每 一 个 元 素 , 返 回 新 的
RDD(transformation 算子);foreach:用于遍历 RDD,将函数 f 应用于每一个元素,无返回值(action 算子);mapPartitions:用于遍历操作 RDD 中的每一个分区,返回生成一个新的RDD(transformation 算子);foreachPartition: 用于遍历操作 RDD 中的每一个分区。无返回值(action 算子)。总结的来说,一般使用 mapPartitions 或者 foreachPartition 算子比 map 和 foreach更加高效,推荐使用。
面试题5:spark 中 cache 和 persist 有什么区别?
答案:cache:缓存数据,默认是缓存在内存中,其本质还是调用 persist;persist:缓存数据,有丰富的数据缓存策略。数据可以保存在内存也可以保存在磁盘中,使用的时候指定对应的缓存级别就可以了。
面试题6:如何解决 spark 中的数据倾斜问题?
答案:这也是在大数据岗位上会常常遇到的问题,当我们发现数据倾斜的时候,不要急于提高 executor 的资源,修改参数或是修改程序,首先要检查数据本身,是否存在异常数据。如果是数据问题造成的数据倾斜,找出异常的 key,如果任务长时间卡在最后最后 1 个(几个)任务,首先要对 key 进行抽样分析,判断是哪些 key 造成的。选取 key,对数据进行抽样,统计出现的次数,根据出现次数大小排序取出前几个。
面试题7:谈谈 你对spark中宽窄依赖的认识。
答案:RDD 和它依赖的父 RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。宽依赖指的是多个子 RDD 的 Partition 会依赖同一个父 RDD 的 Partition窄依赖:指的是每一个父 RDD 的 Partition 最多被子 RDD 的一个 Partition使用。
以上就是大数据岗位中常见的Spark面试题整理,大家可以根据附上的答案对Spark的相关知识点进行查漏补缺。如果想要了解更多的大数据面试题,可以上博学谷官网学习大数据的就业班课程,除了面试题整理,课程还包括了各种就业指导内容,欢迎大家试听体验。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据工程师加班多吗?工作强度大不大?
大数据时代的来临,使得大数据工程师一职也变得火爆起来。许多想要学习大数据并今后投身于此的伙伴,在羡慕这一行广阔发展前景和高额薪资待遇的同时,难免也会担心这样的问题:大数据工程师加班多吗?工作强度大不大?其实我们都明白高薪的工作肯定不轻松的道理,但是大数据工程师的工作强度,也远远没有大家想象的没那么大。而且不同的公司,加班的强度也是不一样的,因此不能一概而论。
14135
2019-12-05 20:33:40
大数据岗位介绍和职业规划分析
我们经常在谈论的大数据行业究竟是做什么的?相信这个问题绝大多数人都说不清楚。因为大数据行业是一个很广泛的概念,想要从事大数据行业的朋友可以有很多职业方向的选择。下面我将把大数据行业大致划分为五个方向的就业岗位,它们分别是数据管理专员、数据工程师、商业分析师、机器学习研究员/从业者和数据导向专业人员。然后一一为大家进行岗位介绍和职业规划的分析,感兴趣就接着看下去吧!
10077
2020-01-07 17:43:07
大数据行业发展前景分析与预测
大数据,已经是当下最热门的词汇了。一切有数据的地方就有大数据。那么大数据究竟是什么呢?大数据其实就是通过获取、存储、分析,从大容量数据中挖掘价值的一种全新的技术架构。随着大数据开发日新月异的发展,数据产业链逐步形成,我们可以看到大数据领域的未来发展仍然很大。下面我们就一起来分析和预测一下大数据行业的发展前景。
9153
2020-05-28 11:41:37
大数据就业前景和行业发展分析
随着信息时代的发展,大数据已经成为当今技术革新的一大发展趋势。不少人都看到了大数据时代下的人才红利,但是许多人对于大数据的了解还是比较片面的。关于大数据行业现状、发展前景、就业方向等等内容,许多人还是十分迷茫的。为了解决以上大家对于大数据的诸多疑问,本文将为大家带来大数据就业前景分析。
6487
2020-06-09 15:45:49
学大数据有哪些高薪工作可以选?
大数据行业目前有多火爆就不用多说了,我们生活和工作的方方面面都和大数据技术息息相关。由于大数据在各个行业的广泛应用,导致了大数据人才缺口的进一步扩大。可能有人会问了,学大数据有哪些高薪工作可以选呢?首先大数据的整体就业薪资都挺高,而且的就业方向也很多。下面为大家介绍一些大数据行业的高薪岗位。
5232
2020-08-13 15:28:17