1 / 15
文档名称:

2018最新BAT大数据面试题.docx

格式:docx   大小:24KB   页数:15页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2018最新BAT大数据面试题.docx

上传人:wz_198613 2018/11/26 文件大小:24 KB

下载得到文件列表

2018最新BAT大数据面试题.docx

相关文档

文档介绍

文档介绍:1、kafka的message包括哪些信息
一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成
header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成。当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,比如是否压缩、压缩格式等等);如果magic的值为0,那么不存在attributes属性
body是由N个字节构成的一个消息体,包含了具体的key/value消息
2、怎么查看kafka的offset
,可以用最新的Consumer client 客户端,() / () 可以用于得到当前最新的offset:
3、hadoop的shuffle过程
一、Map端的shuffle
Map端会处理输入数据并产生中间结果,这个中间结果会写到本地磁盘,而不是HDFS。每个Map的输出会先写到内存缓冲区中,当写入的数据达到设定的阈值时,系统将会启动一个线程将缓冲区的数据写到磁盘,这个过程叫做spill。
在spill写入之前,会先进行二次排序,首先根据数据所属的partition进行排序,然后每个partition中的数据再按key来排序。partition的目是将记录划分到不同的Reducer上去,以期望能够达到负载均衡,以后的Reducer就会根据partition来读取自己对应的数据。biner(如果设置了的话),combiner的本质也是一个Reducer,其目的是对将要写入到磁盘上的文件先进行一次处理,这样,写入到磁盘的数据量就会减少。最后将数据写到本地磁盘产生spill文件(spill文件保存在{}指定的目录中,Map任务结束后就会被删除)。
最后,每个Map任务可能产生多个spill文件,在每个Map任务完成前,会通过多路归并算法将这些spill文件归并成一个文件。至此,Map的shuffle过程就结束了。
二、Reduce端的shuffle
Reduce端的shuffle主要包括三个阶段,copy、sort(merge)和reduce。
首先要将Map端产生的输出文件拷贝到Reduce端,但每个Reducer如何知道自己应该处理哪些数据呢?因为Map端进行partition的时候,实际上就相当于指定了每个Reducer要处理的数据(partition就对应了Reducer),所以Reducer在拷贝数据的时候只需拷贝与自己对应的partition中的数据即可。每个Reducer会处理一个或者多个partition,但需要先将自己对应的partition中的数据从每个Map的输出结果中拷贝过来。
接下来就是sort阶段,也成为merge阶段,因为这个阶段的主要工作是执行了归并排序。从Map端拷贝到Reduce端的数据都是有序的,所以很适合归并排序。最终在Reduce端生成一个较大的文件作为Reduce的输入。
最后就是Reduce过程了,在这个过程中产生了最终的输出结果,并将其写到HDFS上。
4、spark集群运算的模式
Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Standalone 模式,对于大多数情况 Standalone 模式就足够了,如果企业已经有 Yarn 或者 Mesos 环境,也是很方便部署的。
standalone(集群模式):典型的Mater/slave模式,不过也能看出Master是有单点故障的;Spark支持ZooKeeper来实现 HA
on yarn(集群模式): 运行在 yarn 资源管理器框架之上,由 yarn 负责资源管理,Spark 负责任务调度和计算
on mesos(集群模式): 运行在 mesos 资源管理器框架之上,由 mesos 负责资源管理,Spark 负责任务调度和计算
on cloud(集群模式):比如 AWS 的 EC2,使用这个模式能很方便的访问 Amazon的 S3;Spark 支持多种分布式存储系统:HDFS 和 S3
5、HDFS读写数据的过程
 读:
1、跟namenode通信查询元数据,找到文件块所在的datanode服务器
2、挑选一台datanode(就近原则,然后随机)服务器,请求建立socket流
3、datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)

最近更新

蒙古族大学生就业现状调查研究的开题报告 2页

营销渠道模式、渠道关系与渠道定价策略研究的.. 2页

菜蛾盘绒茧蜂热激蛋白基因的克隆及表达研究的.. 2页

莱菔素抗肿瘤活性评价及作用机制研究的开题报.. 2页

荆各庄矿井通风系统仿真与优化改造研究的开题.. 2页

英语写作训练坊任务复杂度研究的开题报告 2页

2024年教师教学总结范文锦集十篇 31页

英文地址图像识别与翻译研究的开题报告 2页

2024年教师推荐信(15篇) 24页

口腔科学-温医大:2017第五章牙周病 48页

2024年教师感恩教育学习总结范文 5页

花生红衣多酚的制备及其抗氧化活性研究中期报.. 2页

芦笋老茎堆肥中嗜热细菌和霉菌的初步研究的开.. 2页

艺术教育与大学生创造性思维培养研究的开题报.. 2页

船用卫星天线姿态稳定系统关键技术研究的开题.. 2页

郑州大学2024-2024年民商法(民法、商法)真题 5页

2024年教师常规工作总结 31页

哈师大附中2024届高三第三次模拟考试英语试卷.. 11页

房屋建筑自然灾害综合风险普查工作实施方案 9页

医院培训课件:《压力性损伤的管理》 47页

财产保险公司人伤管理集中管理办法 21页

小学民族团结评选实施方案 5页

电信公司营业班长申报“服务明星”事迹材料 5页

魏书生的教育思想研究 2页

3D包点和值投注表 2页

H8 WIFI 高清1080P移动充电宝摄像机、移动电源.. 14页

人宇特能讲座--张维祥 415页