欢迎访问wabc.cc — 源码交易 · 软件定制 · 建站服务一站式平台
全部分类
首页 - 首页 - 解决方案 - 推荐文章 - 纯干货技巧总结 2018常见大数据面试题有哪些

纯干货技巧总结 2018常见大数据面试题有哪些

分类:推荐文章 · 发布:2025-12-20 · 浏览:2

  想在大数据行业拿获高薪,面试能够顺利,下面为大家提供纯干货技巧总结,2018常见大数据面试题,助正在找工作的小伙伴一臂之力!

e1b6a29c0b6c4772a7a7aa28eadf3ab8.png

  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对象就可以了。

 


上一篇:BW交易所app系统
下一篇:北京夏令营2019北京暑假学能夏令营

相关文章

源码分类

热门源码

最新资讯

联系我们