大数据面试题及答案【最新版】大数据高级面试题大全(2021版),发现网上很多大数据面试题及答案整理都没有答案,所以花了很长时间搜集,本套大数据面试题大全,大数据面试题大汇总,有大量经典的大数据面试题以及答案,包含大数据语言常见面试题、大数据工程师高级面试题及一些大厂大数据开发面试宝典,面试经验技巧等,应届生,实习生,企业工作过的,都可参考学习!
还是典型的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),最后再进行合并。
mr程序执行时,reduce阶段大部分执行完毕,但是有一个或几个reduce任务运行很慢,导致整个程序的处理时间很长;有的reduce数据多,有的数据特别少
数据预处理
combiner聚合
大量值key相同,需要将这部分数据打散key+随机数,平均分配数据到reduce
在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM上。这里同样没有DFS,使用的是本地文件系统。单机模式适用于开发过程中运行MapReduce程序,这也是最少使用的一个模式。
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合作启动容器
varhadooppids用来存储PID。
如果你确实需要在浏览器中查找Namenode,你不再需要localhost8021,Namenode的端口号是50070。
namenode:负责管理hdfs中文件块的元数据,响应客户端请求,管理datanode上文件block的均衡,维持副本数量
Secondname:主要负责做checkpoint操作;也可以做冷备,对一定范围内数据做快照性备份。
Datanode:存储数据块,负责客户端对数据块的io请求
Jobtracker :管理任务,并将任务分配给 tasktracker。
Tasktracker: 执行JobTracker分配的任务。
Resourcemanager
Nodemanager
Journalnode
Zookeeper
Zkfc
Hive 向内部表导入数据时,会将数据移动到数据仓库指向的路径;若是外部表,数据的具体存放目录由用户建表时指定
在删除表的时候,内部表的元数据和数据会被一起删除,
而外部表只删除元数据,不删除数据。
这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。
每个日志文件都有一个offset来唯一标记一条信息,由8个自己数字表示,表示此消息在分区中所处的起始位置
每个分区再物理存储层面,由多个logfile组成(segment)
最小的offset表示segment中起始消息的offset
alter table ptable drop partition(daytime=‘20140921’,city=‘bj’);全部删除,文件夹还在
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。