Hive
Apache Hive是一款分布式SQL计算工具,主要两个功能是:
1.将我们的文件转化为表结构;
2.将SQL语句翻译成MapReduce程序进行。
对数据进行统计分析,SQL是目前最为方便的编程工具,大数据体系中充斥着非常多的统计分析场景,所以使用SQL去处理数据,在大数据中也是有极大的需求的。但又因为MapReduce只支持程序开发(Java,Python等,不支持SQL直接进行开发,所以这个时候我们就需要用HIve先把SQL语句翻译成MapReduce代码才能进行。
要注意Hive只是为用户提供了分布式SQL计算的能力,相当于HIve给我们提供一个可以直接用SQL去处理Hadoop上的一些文件的通道。所以写的还是SQL,执行的却是MapReduce
使用Hive处理数据的好处:
操作接口采用类SQL语法,提供快速开发的能力;
底层执行MapReduce,可以完成分布式海量收据的SQL处理。
HDFS
HDFS的架构:
HDFS采用Master/Slave架构
一个HDFS集群有两个重要的部分是Namenode和Datanode.
HDFS的四个基本组件:HDFS Client、NameNode、DataNode和Secondary NameNode.
HDFS的副本机制
HFDS是一个能够在一个大集群中跨机器可靠地储存超大文件。它将每一个文件储存以西开裂 的数据块,这个数据块被称为block,其中除了最后一个,所有的block块的大小都是相等的。
在Hadoop中,文件的block块的大小是128M.
为了防止不可控制的原因导致部分block块丢失造成文件缺失,因此文件的所有block块都会备份,其中每个文件的block块大小和副本系数都是可以配置的。