大数据之Hive数据仓库
———— 同学一定要仔细观看哦!对你的帮助收获满满~~~ ————


一、Hive简介
Hive是基于Hadoop的一个 数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能。
Hive是构建在Hadoop 之上的数据仓库。
使用HQL作为查询接口。
使用HDFS存储。
使用MapReduce计算。

简单来说,Hive就是在Hadoop上架了一层SQL接口,可以将SQL翻译成MapReduce去Hadoop上执行,这样就使得数据开发和分析人员很方便的使用SQL来完成海量数据的统计和分析,而不必使用编程语言开发MapReduce那么麻烦。

二、Hive架构

1、用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是CLI,Cli启动的时候,会同时启动一个Hive副本。Client是Hive的客户端,用户连接至Hive Server。在启动 Client模式的时候,需要指出Hive Server所在节点,并且在该节点启动Hive Server。 WUI是通过浏览器访问Hive。
2、Hive将元数据存储在数据库中,如mysql、derby。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
3、解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行。
4、Hive的数据存储在HDFS中,大部分的查询、计算由MapReduce完成(包含*的查询,比如select * from tbl不会生成MapRedcue任务)。

三、Hive函数
1、内置运算符
关系运算符、算术运算符、逻辑运算符、复杂类型函数、对复杂类型函数操作
2、内置函数
数学函数、收集函数、类型转换函数、日期函数、字符函数
3、内置的聚合函数
4、内置表生成函数
5、自定义函数

四、Hive视图

1、和关系型数据库中的普通视图一样,hive也支持视图。
2、特点
不支持物化视图。
只能查询,不能做加载数据操作。
视图的创建,只是保存一份元数据,查询视图时才执行对应的子查询。
view定义中若包含了ORDER BY/LIMIT语句,则当查询视图时也进行ORDER BY/LIMIT语句操作,view当中定义的优先级更高。
view支持迭代视图。

对于大数据hive数据仓库,有不懂的可在下方评论区提问,一起讨论起来吧!!!