43 Star 322 Fork 3

鹏磊 / NewDevBooks

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
大数据面试题汇总及答案(2021年大数据面试题及答案大全).md 14.07 KB
一键复制 编辑 原始数据 按行查看 历史

大数据面试题汇总及答案(2023年大数据面试题及答案大全)

大数据面试题及答案【最新版】大数据高级面试题大全(2021版),发现网上很多大数据面试题及答案整理都没有答案,所以花了很长时间搜集,本套大数据面试题大全,大数据面试题大汇总,有大量经典的大数据面试题以及答案,包含大数据语言常见面试题、大数据工程师高级面试题及一些大厂大数据开发面试宝典,面试经验技巧等,应届生,实习生,企业工作过的,都可参考学习!

这套大数据面试题汇总大全,希望对大家有帮助哈~

博主已将以下这些面试题整理成了一个大数据面试手册,是PDF版的

全部答案,更新日期:2023年6月11日,直接下载吧!

下载链接:高清172份,累计 7701 页大厂面试题 PDF

1、有10个文件,每个文件1G,每个文件的每一行存放的都是用户的query,每个文件的query都可能重复。要求你按照query的频度排序。

还是典型的TOP K算法,解决方案如下:

方案1:

顺序读取10个文件,按照hash(query)的结果将query写入到另外10个文件(记为)中。这样新生成的文件每个的大小大约也1G(假设hash函数是随机的)。

找一台内存在2G左右的机器,依次对用hash_map(query, query_count)来统计每个query出现的次数。利用快速/堆/归并排序按照出现次数进行排序。将排序好的query和对应的query_cout输出到文件中。这样得到了10个排好序的文件(记为)。

对这10个文件进行归并排序(内排序与外排序相结合)。

方案2:

一般query的总量是有限的,只是重复的次数比较多而已,可能对于所有的query,一次性就可以加入到内存了。这样,我们就可以采用trie树/hash_map等直接来统计每个query出现的次数,然后按出现次数做快速/堆/归并排序就可以了。

方案3:

与方案1类似,但在做完hash,分成多个文件后,可以交给多个文件来处理,采用分布式的架构来处理(比如MapReduce),最后再进行合并。

2、谈谈数据倾斜,如何发生的,并给出相应的解决办法

mr程序执行时,reduce阶段大部分执行完毕,但是有一个或几个reduce任务运行很慢,导致整个程序的处理时间很长;有的reduce数据多,有的数据特别少

数据预处理

combiner聚合

大量值key相同,需要将这部分数据打散key+随机数,平均分配数据到reduce

3、单机(本地)模式中的注意点?

在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM上。这里同样没有DFS,使用的是本地文件系统。单机模式适用于开发过程中运行MapReduce程序,这也是最少使用的一个模式。

4、hadoop进程名

Datanode

负责存储文件

a.DataNode的需要完成的首要任务是K-V存储

b.完成和namenode 通信 ,这个通过IPC 心跳连接实现。

此外还有和客户端 其它datanode之前的信息交换

c.完成和客户端还有其它节点的大规模通信,这个需要直接

通过socket 协议实现。

SecondaryNamenode

合并快照

namenode

相当于一个领导者,负责调度

NodeManager

是YARN中每个节点上的代理,它管理Hadoop集群中单个计算节点

包括与ResourceManger保持通信,监督Container的生命周期管理,

监控每个Container的资源使用(内存、CPU等)情况,追踪节点健

康状况,管理日志和不同应用程序用到的附属服务(auxiliary service)

ResourceManager

在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)

RM与每个节点的NodeManagers (NMs)和每个应用的ApplicationMasters (AMs)一起工作。

a.NodeManagers 遵循来自ResourceManager的指令来管理单一节点上的可用资源。

b.ApplicationMasters负责与ResourceManager协商资源与NodeManagers合作启动容器

5、varhadooppids用于做什么?

varhadooppids用来存储PID。

6、如何在浏览器中查找Namenode?

如果你确实需要在浏览器中查找Namenode,你不再需要localhost8021,Namenode的端口号是50070。

7、请列出正常的hadoop集群中hadoop都分别需要启动 哪些进程,他们的作用分别都是什么,请尽量列的详细一些。

namenode:负责管理hdfs中文件块的元数据,响应客户端请求,管理datanode上文件block的均衡,维持副本数量

Secondname:主要负责做checkpoint操作;也可以做冷备,对一定范围内数据做快照性备份。

Datanode:存储数据块,负责客户端对数据块的io请求

Jobtracker :管理任务,并将任务分配给 tasktracker。

Tasktracker: 执行JobTracker分配的任务。

Resourcemanager

Nodemanager

Journalnode

Zookeeper

Zkfc

8、hive内部表和外部表的区别

Hive 向内部表导入数据时,会将数据移动到数据仓库指向的路径;若是外部表,数据的具体存放目录由用户建表时指定

在删除表的时候,内部表的元数据和数据会被一起删除,

而外部表只删除元数据,不删除数据。

这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。

9、offset是每天消息的偏移量

每个日志文件都有一个offset来唯一标记一条信息,由8个自己数字表示,表示此消息在分区中所处的起始位置

每个分区再物理存储层面,由多个logfile组成(segment)

最小的offset表示segment中起始消息的offset

10、假如一个分区的数据逐步错误怎么通过hivesql删除

alter table ptable drop partition(daytime=‘20140921’,city=‘bj’);全部删除,文件夹还在

11、全分布式环境下为什么需求password-less SSH?

12、hive如何控制权限

13、怎么样才能实现去掉reduce阶段

14、如何检查Namenode是否正常运行?

15、什么是DAG

16、海量日志数据,提取出某日访问百度次数最多的那个IP。

17、我们在开发分布式计算job的时候,是否可以去掉reduce阶段

18、什么是Kafka?

19、描述Hbase的rowkey的设计原则

20、当Job Tracker宕掉时,Namenode会发生什么?

21、hive与传统DB的区别

22、假如Namenode中没有数据会怎么样?

23、MapReduce运行原理

24、Hadoop性能调优?

25、Masters由什么组成?

26、Hive中存放是什么?

27、给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

28、spark调优

29、insert into 和override write区别

30、MapReduce的map数量和reduce数量怎么确定,怎么配置

31、3个datanode中有一个datanode出现错误会怎样?

32、腾讯面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?

全部答案,更新日期:2023年6月11日,直接下载吧!

下载链接:全部答案,整理好了

新增:高清PDF:172份,7701页,最新整理

Java
1
https://gitee.com/souyunku/NewDevBooks.git
git@gitee.com:souyunku/NewDevBooks.git
souyunku
NewDevBooks
NewDevBooks
master

搜索帮助