什么是Hive
(1)Hive是基于Hadoop之上的数据仓库
(2)Hives是建立在Hadoop HDFS上的数据库仓库基础架构
(3)Hive可以用来进行数据提取转换加载(ETL)
(4)Hive定义了简单的类似SQL查询语言,称为HQL它允许熟悉SQL的用户查询数据
(5)Hive允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作
(6)Hive是SQL解析引擎,他将SQL语言转移成M/R Job然后在Hadoop执行
(7)Hive的表其实就是HDFS的目录/文件
什么是数据仓库
数据仓库是一个面向主题的、集成的、不可更新的、随时间不变化的数据集合,它用于支持企业或组织的决策分析处理
数据仓库的结构和建立过程
数据仓库模型
(1)星型模型
(2)雪花模型(基于星型模型发展起来)
Hive的体系结构
(1)Hive的元数据
hive将元数据存储在数据库中(metastore),支持mysql、derby等
hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等
(2)HQL的执行过程
解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行
(3)Hive体系结构