大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day25】——Spark12
本栏目大数据开发岗高频面试题主要出自
大数据技术
专栏的各个小专栏,由于个别笔记上传太早,排版杂乱,后面会进行原文美化、增加。
文章目录
停不要往下滑了,
默默想5min,
看看这5道面试题你都会吗?
面试题 01、CAPCACITY调度模式的优点和缺点?
面试题02、常见的数压缩方式,你们生产集群采用了什么压缩方式,提升了多少效率?
面试题 03、使用scala代码实现WordCount?
面试题04、Spark RDD 和 MapReduce2的区别?
面试题05、spark和Mapreduce快?为什么快呢?快在哪里呢?
以下答案仅供参考:
面试题 01、CAPCACITY调度模式的优点和缺点?
1)原理: 计算能力调度器支持多个队列,每个队列可配置一定的资源量,每个队列采用 FIFO 调度策略,为了防止同一个用户的作业独占队列中的资源,该调度器会对 同一用户提交的作业所占资源量进行限定。调度时,首先按以下策略选择一个合适队列:计算每个队列中正在运行的任务数与其应该分得的计算资源之间的 比值(即比较空闲的队列),选择一个该比值最小的队列;然后按以下策略选择该队列中一个作业:按照作业优先级和提交时间顺序选择, 同时考虑用户资源量限制和内存限制 2)优点: (1)计算能力保证。支持多个队列,某个作业可被提交到某一个队列中。每个队列会配置一定比例的计算资源,且所有提交到队列中的作业 共享该队列中的资源; (2)灵活性。空闲资源会被分配给那些未达到资源使用上限的队列,当某个未达到资源的队列需要资源时,一旦出现空闲资源资源,便会分配给他们; (3)支持优先级。队列支持作业优先级调度(默认是FIFO); (4)多重租赁。综合考虑多种约束防止单个作业、用户或者队列独占队列或者集群中的资源; (5)基于资源的调度。支持资源密集型作业,允许作业使用的资源量高于默认值,进而可容纳不同资源需求的作业。不过,当前仅支持内存资源的调度。
面试题02、常见的数压缩方式,你们生产集群采用了什么压缩方式,提升了多少效率?
1)数据压缩,大片连续区域进行数据存储并且存储区域中数据重复性高的状况下,可以使用适当的压缩算法。数组,对象序列化后都可以使用压缩,数更紧凑, 减少空间开销。常见的压缩方式有snappy,LZO,gz等 2)Hadoop生产环境常用的是snappy压缩方式(使用压缩,实际上是CPU换IO吞吐量和磁盘空间,所以如果CPU利用率不高,不忙的情况下, 可以大大提升集群处理效率)。snappy压缩比一般20%~30%之间,并且压缩和解压缩效率也非常高 (参考数据如下): (1)GZIP的压缩率最高,但是其实CPU密集型的,对CPU的消耗比其他算法要多,压缩和解压速度也慢; (2)LZO的压缩率居中,比GZIP要低一些,但是压缩和解压速度明显要比GZIP快很多,其中解压速度快的更多; (3)Zippy/Snappy的压缩率最低,而压缩和解压速度要稍微比LZO要快一些。 提升了多少效率可以从2方面回答:1)数据存储节约多少存储,2)任务执行消耗时间节约了多少,可以举个实际例子展开描述。
面试题03、使用scala代码实现WordCount?
val conf = new SparkConf()
val sc = new SparkContext(conf)
val line = sc.textFile("xxxx.txt")
line.flatMap(.split(" ")).map((,1)).reduceByKey(+).
collect().foreach(println)
sc.stop()
面试题04、Spark RDD 和 MapReduce2的区别?
1)mr2只有2个阶段,数据需要大量访问磁盘,数据来源相对单一 ,spark RDD ,可以无数个阶段进行迭代计算,数据来源非常丰富,数据落地介质也 非常丰富spark计算基于内存; 2)MapReduce2需要频繁操作磁盘IO,需要大家明确的是如果是SparkRDD的话,你要知道每一种数据来源对应的是什么,RDD从数据源加载数据, 将数据放到不同的partition针对这些partition中的数据进行迭代式计算计算完成之后,落地到不同的介质当中。
面试题05、spark和Mapreduce快?为什么快呢?快在哪里呢?
Spark更加快的主要原因有几点: 1)基于内存计算,减少低效的磁盘交互; 2)高效的调度算法,基于DAG; 3)容错机制Lingage,主要是DAG和Lianage,即使spark不使用内存技术,也大大快于mapreduce。
总结
今天我们复习了面试中常考的Spark相关的五个问题,你做到心中有数了么?
相关文章
- 关于量子计算和人工智能应该了解的十件事
- 元宇宙如何“喂养”人工智能模型?
- 5G 与 WiFi 6 将如何影响关键传感器应用
- 从 IP 到 IP,聊聊计算机网络中那些“没用的”知识
- 一文读懂人工智能表:从MindsDB说起
- 边缘计算和5G:企业IT的下一步是什么?
- 无服务器计算或已成为云原生的下一个演进
- 5G 与边缘计算将占主导地位,但面临挑战
- 5G 和边缘:2022 年塑造计算的主要趋势
- 分布式云的工作原理及用例分析
- 什么是智慧医院?
- 亚马逊云科技宣布Amazon Aurora Serverless v2正式可用,可在几分之一秒内扩展到数十万个事务
- 统一化、标准化、智能化,博睿数据OneAlert为运维降本增效
- 云原生数仓如何破解大规模集群的关联查询性能问题?
- 宝洁转向人工智能来进行数字化制造
- 平安云原生数据库开发与实践
- 微软英伟达牵手,想打造世界上最强大的AI超级计算机
- 研究机构:2028年云市场价值将达8520亿美元
- 2022年边缘计算将发挥三种作用
- 到底该如何看待“东数西算”?