赞
踩
1.什么是NameNode?
NameNode是整个文件系统的管理节点,它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。并接收用户的操作请求。
2.SecondaryNameNode的主要作用?
SecondaryNameNode定期合并fsimage和edits日志,将edits日志文件大小控制在一个限度下。
1、元数据
·元数据必须存储在内存当中(保证快速检索);
·元数据必须持久化(保证数据的安全持久);
·将元数据信息保存在fsimage镜像文件当中
2.fsimage文件
·保存元数据信息的文件
·是NameNode中关于元数据的镜像
·包含了NameNode管理下的所有DataNode中文件以及文件Block以及block所在的DataNode的元数据信息
3.Edits文件
·edits编辑日志文件记录了客户端操作元数据的信息
edits_inprogress_xxx
存储的是还没有更新到 edits
中的数据)中存储的改变向量滚动写入到Edits,如果客户端此时有向NameNode发出改变元数据的请求,那么新的改变向量会被暂时写入到edit_inprogress_002中。Map端的主要工作:是通过Mapper阶段将两张表共有的字段作为key,同时处理两张表,通过设置标签Flag的方式来标注不通过数据的来源,将其余字段和新加的标志作为value,最后进行输出.
recude端的主要工作:是在reduce之前,通过共有字段连接连接两张表的工作已经完成,此时在reduce端只需要将不同的来源再分开,最后进行逻辑业务编写就行了.
缺点:这种方式很明显会造成map和reduce端也就是shufflle阶段出现大量的数据传输,效率很低,此外最后的拆分再合并的操作都在reduce阶段完成,reduce端的处理压力很大,而map节点的运算负载很低,资源利用率不高,在reduce阶段极易产生数据倾斜.
map join适用于一张小表和一张大表的场景
使用map join可以将全部的操作都在map阶段执行,不需要使用reduce,所有的工作都在map阶段完成,极大地减少了网络传输和io的代价
Yarn是用于进行任务调度和资源管理的框架
Yarn的主要组件为
工作流程:
优缺点
1.优点
1)操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。
2)避免了去写MapReduce,减少开发人员的学习成本。
3)Hive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合。
4)Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高。
5)Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
2.缺点
1.Hive的HQL表达能力有限
(1)迭代式算法无法表达(MapReduce本身就不支持)
(2)数据挖掘方面不擅长
2.Hive的效率比较低
(1)Hive自动生成的MapReduce作业,通常情况下不够智能化
(2)Hive调优比较困难,粒度较粗
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。