锁屏面试题百日百刷-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)任务执行消耗时间节约了多少,可以举个实际例子展开描述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值