纯干货技巧总结:常见大数据面试题有哪些
想在大数据行业拿获高薪,面试能够顺利过关,就需要掌握一定的技能。下面为大家提供一些常见大数据面试题,纯干货技巧总结,助正在找工作的小伙伴一臂之力!
1、RDD中reduceBykey与groupByKey哪个性能好,为什么
reduceByKey:reduceByKey会在结果发送至reducer之前会对每个mapper在本地进行merge,有点类似于在MapReduce中的combiner。这样做的好处在于,在map端进行一次reduce之后,数据量会大幅度减小,从而减小传输,保证reduce端能够更快的进行结果计算。
groupByKey:groupByKey会对每一个RDD中的value值进行聚合形成一个序列(Iterator),此操作发生在reduce端,所以势必会将所有的数据通过网络进行传输,造成不必要的浪费。同时如果数据量十分大,可能还会造成OutOfMemoryError。
通过以上对比可以发现在进行大量数据的reduce操作时候建议使用reduceByKey。不仅可以提高速度,还是可以防止使用groupByKey造成的内存溢出问题。
2、讲述一下hdfs上传文件的流程。
答:这里描述的 是一个256M的文件上传过程
由客户端 向 NameNode节点节点 发出请求;
NameNode 向Client返回可以可以存数据的 DataNode 这里遵循机架感应原则;
客户端 首先 根据返回的信息 先将 文件分块(Hadoop2.X版本 每一个block为 128M 而之前的版本为 64M;
然后通过那么Node返回的DataNode信息 直接发送给DataNode 并且是 流式写入同时会复制到其他两台机器;
dataNode 向 Client通信 表示已经传完 数据块 同时向NameNode报告 依照上面(到)的原理将 所有的数据块都上传结束 向 NameNode 报告 表明 已经传完所有的数据块 。
3、了解zookeeper吗?介绍一下它,它的选举机制和集群的搭建。
答:那当然是熟悉啦,ZooKeeper 是一个开源的分布式协调服务,是 Google Chubby 的开源实现。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。我们公司使用的flume集群,Kafka集群等等,都离不开ZooKeeper呀。每个节点上我们都要搭建ZooKeeper服务。首先我们要在每台pc上配置zookeeper环境变量,在cd到zookeeper下的conf文件夹下在zoo_simjle.cfg文件中添加datadir路径,再到zookeeper下新建data文件夹,创建myid,在文件里添加上server的ip地址。在启动zkserver.sh start便ok了。
4、spark streming在实时处理时会发生什么故障,如何停止,解决
答:和Kafka整合时消息无序:
修改Kafka的ack参数,当ack=1时,master确认收到消息就算投递成功。ack=0时,不需要收到消息便算成功,高效不准确。sck=all,master和server都要受到消息才算成功,准确不高效。
StreamingContext.stop会把关联的SparkContext对象也停止,如果不想把SparkContext对象也停止的话可以把StremingContext.stop的可选参数stopSparkContext设为flase。一个SparkContext对象可以和多个streamingcontext对象关联。只要对前一个stremingcontext.stop(stopsparkcontext=false),然后再创建新的stremingcontext对象就可以了。
猜你喜欢LIKE
最新文章NEW
相关推荐HOT
更多>>热门推荐
如何在面试中得高分?一般要注意哪些方面
沸UI设计师如何应对面试?哪些细节不可忽略
热求职者如何应对面试?需要特别注意什么
热Java面试必问什么技术?如何搞定Spring框架
新求职过程中如何抓住机遇?要注意哪些要点
郑州Web前端培训之JavaScript面试题推荐
郑州云计算培训机构之常见面试题及答案
如何开始求职生涯?个人简历有哪几种类型
初入职场大学生如何应对?怎么规避职场风险
企业对Python人才的招聘需求有哪些?
职场新人如何找到适合自己性格的工作?
大学生如何尽快获得职位?需要注意哪几点
毕业生如何应对求职?推荐10条参考标准
常见UI设计面试题有哪些?郑州UI培训好不