1 / 19
文档名称:

BAT大数据面试题精选文档.docx

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

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

分享

预览

BAT大数据面试题精选文档.docx

上传人:杰哥 2022/7/23 文件大小:32 KB

下载得到文件列表

BAT大数据面试题精选文档.docx

相关文档

文档介绍

文档介绍:TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-TTMSHHJ8】
BAT大数据面试题精选文档
1、kafka的message包括哪些信息
一个Kafka的Mes)服务器,请求建立socket流
3、datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)
4、客户端以packet为单位接收,现在本地缓存,然后写入目标文件
写:
1、根namenode通信请求上传文件,namenode检查目标文件是否已存在,父目录是否存在
2、namenode返回是否可以上传
3、client请求第一个 block该传输到哪些datanode服务器上
4、namenode返回3个datanode服务器ABC
5、client请求3台dn中的一台A上传数据(本质上是一个RPC调用,建立pipeline),A收到请求会继续调用B,然后B调用C,将真个pipeline建立完成,逐级返回客户端
6、client开始往A上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,A收到一个packet就会传给B,B传给C;A每传一个packet会放入一个应答队列等待应答
7、当一个block传输完成之后,client再次请求namenode上传第二个block的服务器。
6、RDD中reduceBykey与groupByKey哪个性能好,为什么
reduceByKey:reduceByKey会在结果发送至reducer之前会对每个mapper在本地进行merge,有点类似于在MapReduce中的combiner。这样做的好处在于,在map端进行一次reduce之后,数据量会大幅度减小,从而减小传输,保证reduce端能够更快的进行结果计算。 groupByKey:groupByKey会对每一个RDD中的value值进行聚合形成一个序列(Iterator),此操作发生在reduce端,所以势必会将所有的数据通过网络进行传输,造成不必要的浪费。同时如果数据量十分大,可能还会造成OutOfMemoryError。

通过以上对比可以发现在进行大量数据的reduce操作时候建议使用reduceByKey。不仅可以提高速度,还是可以防止使用groupByKey造成的内存溢出问题。
7、的了解
更简单:ANSI SQL与更合理的API 速度更快:用Spark作为编译器
更智能:Structured Streaming
8、rdd 怎么分区宽依赖和窄依赖
宽依赖:父RDD的分区被子RDD的多个分区使用 例如 groupByKey、reduceByKey、sortByKey等操作会产生宽依赖,会产生shuffle
窄依赖:父RDD的每个分区都只被子RDD的一个分区使用 例如map、filter、union等操作会产生窄依赖
9、spark streaming 读取kafka数据的两种方式
这两种方式分别是:
Receiver-base
使用Kafka的高层次Consumer API来实现。receiver从Kafka中获取的数据都存储在Spark Executor的内存中,然后Spark Streaming启动的job会去处理那些数据。然而,在默认的配置下,这种方式可能会因为底层的失败而丢失数据。如果要启用高可靠机制,让数据零丢失,就必须启用Spark Streaming的预写日志机制(Write Ahead Log,WAL)。该机制会同步地将接收到的Kafka数据写入分布式文件系统(比如HDFS)上的预写日志中。所以,即使底层节点出现了失败,也可以使用预写日志中的数据进行恢复。
Direct
中引入Direct方式,用来替代掉使用Receiver接收数据,这种方式会周期性地查询Kafka,获得每个topic+partition的最新的offset,从而定义每个batch的offset的范围。当处理数据的job启动时,就会使用Kafka的简单consumer api来获取Kafka指定offset范围的数据。
10、kafka的数据存在内存还是磁盘
Kafka最核心的思想是使用磁盘,而不是使用内存,可能所有人都会认为,内存的速度一定比磁盘快,我也不例外。在看了Kafka的设计思想,查阅了相应资料再加上自己的测试后,发现磁盘的顺序读写速度和内存持平。
而且Linux对于磁盘的读写优化也比较多,包括read-ahead和write-behind,磁盘缓存等。如果在内存做这些操作的时候,一个是JAVA对象的内存开销很大,另一个是随着堆内存数据的增多,JAVA的GC时间会变得很长,使用磁盘操作有

最近更新

优秀家长家庭教育心得体会(31篇) 70页

苏教版四年级下册《人类的老师》PPT 35页

2023年各部门识别和获取适用法律、法规及标准.. 6页

2023年语文五年级下册《杨氏之子》说课稿 8页

“世界无车日”活动方案 29页

【暑假衔接】知识点专题03把句子说完整(讲义+.. 8页

人教pep版五年级下册英语第一单元测试卷(含答.. 7页

脂肪与人体健康PPT课件 52页

公需一带一路:再造中国,再造世界参考答案 9页

初中数学高效课堂模式 10页

南开大学22春学期《员工关系管理》在线作业答.. 8页

大学生组织团建活动策划方案7篇 20页

平面设计的实习报告范文五篇 24页

急性脑梗死临床路径(简单篇)汇编 5页

数控编程实训心得体会精选4篇 7页

校园疫情防控工作实施方案 57页

漫画的启示五年级作文(精选9篇) 7页

调研报告:基层面临的网络舆情风险及对策建议.. 4页

重庆市铜梁区2022-2023学年七年级上学期期末数.. 6页

高三百日誓师大会领导发言稿范文 19页

年度电火花检测仪竞争策略分析报告 86页

人力资源专业的总结(合集3篇) 10页

《多元文化 多样魅力导学案-2023-2024学年道德.. 3页

钢材物资供货方案投标方案 7页

过期药品、耗材管理制度 2页

大班科学活动《有趣的转动》说课稿 8页

空调铜管的蚁巢腐蚀 10页

汉语言文学专业文学常识试题200道 17页

肾脏疾病的营养治疗原则和要求 129页

经典围棋书籍一览 4页