1、什么是Hive?
基于Hadoop的数据仓库解决方案
将结构化的数据文件映射为数据库表
提供类sql的查询语言HQL(Hive Query Language)
Hive让更多的人使用Hadoop
为什么要使用Hive?
比如词频统计,mapreduce需要写一大堆代码,hive一条select就ok了;
由此可见,MapReduce执行效率更快,Hive开发效率更快。
所以,我们使用Hive是因为MapReduce太难用了。
2、Hive框架设计
基本构成(重要)
1、Hive将元数据存储在数据库中,如MySQL。Hive中的元数据包括表的名字、表的列和分区、表的属性、表的数据所在目录等一切描述数据的数据。
2、Hive的数据存储在HDFS中,大部分的查询、计算由MapReduce完成(但是包括* 的查询,比如select* from tabl不会生成MapReduce)。
3、解释HQL查询语句,生成查询计划存储在HDFS中,MapReduce调用执行。
3、Hive与Hadoop
Hive是一个工具,不用关心MapReduce逻辑,使用简单SQL语句完成查询。
Hive利用HDFS存储数据,利用MapReduce查询数据。
4、Hive数据类型(原始类型+复杂数据类型)
1、原始数据类型:类似于SQL数据类型