乐趣区

关于后端:锁屏面试题百日百刷Spark篇二十

锁屏面试题百日百刷,每个工作日保持更新面试题。锁屏面试题 app、小程序现已上线,官网地址:https://www.demosoftware.cn。已收录了每日更新的面试题的所有内容,还蕴含特色的解锁屏幕温习面试题、每日编程题目邮件推送等性能。让你在面试中后人一步! 接下来的是今日的面试题:

1. 简要形容 Spark 写数据的流程?

1)RDD 调用 compute 办法,进行指定分区的写入

2)CacheManager 中调用 BlockManager 判断数据是否曾经写入,如果未写,则写入 3)BlockManager 中数据与其余节点同步

4)BlockManager 依据存储级别写入指定的存储层

5)BlockManager 向主节点汇报存储状态中

2. 介绍一下你对 Unified Memory Management 内存治理模型的了解?

Spark 中的内存应用分为两局部:执行(execution)与存储(storage)。执行内存次要用于 shuffles、joins、sorts 和 aggregations,存储内存则用于缓存或者跨节点的外部数据传输。

3. 如何了解 Spark 的动态内存占用机制?

4. 列举你理解的序列化办法,并谈谈序列化有什么益处?

1)序列化:将对象转换为字节流,实质也能够了解为将链表的非间断空间转为间断空间存储的数组,能够将数据进行流式传输或者块存储,反序列化就是将字节流转为对象。kyro,Java 的 serialize 等

2)spark 中的序列化常见于

· 过程间通信:不同节点的数据传输

· 数据长久化到磁盘

在 spark 中表演十分重要的角色,序列化和反序列化的水平会影响到数据传输速度,甚至影响集群的传输效率,因而,高效的序列化办法有 2 点益处:a. 晋升数据传输速度,b. 晋升数据读写 IO 效率。

5. 常见的数压缩形式,你们生产集群采纳了什么压缩形式,晋升了多少效率?

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)工作执行耗费工夫节约了多少,能够举个理论例子开展形容。

退出移动版