Hive本质是什么?
1.Hive是分布式数据仓库,同时又是查询引擎,所有Spark SQL取代只是Hive查询引擎,在企业中Hive + Spark SQL是目前最为经典的数据分析组合。
2.Hive本身是一个单机版本软件,主要负责:
a) 把HQL翻译成Mapper(s)-Reducer-Mapper(s)代码,并且可能产生很多MapReduces的Job
b) 把生产的MapReduce代码及相关资源打包成Jar,发布到Hadoop集群中运行(这一切都是自动的)
3.Hive的架构
Hive安装和配置
1.export 环境变量
2.vim hive-env.sh
export HADOOP_HOME
3.vim hive.site.xml
hive.site.xml指定Hive数据仓库的具体的具体存储。
4.安装MySQL
5.Hive的表有两种基本类型
外部表:数据不属于Hive数据仓库,元数据中会表达具体数据在哪里,使用的时候和内部表的使用时一样的,只是通过Hive去删除的话,此时删除的是元数据,并没有删除数据本身
内部表:这种表数据属于Hive本身,原来的数据在HDFS的其他地方,此时数据会通过HDFS移动到Hive数据仓库所在的目录下,如果删除Hive中的该表的话,数据和元数据均会被删除。
说明:
Hive默认情况下,放元数据的是Derby,遗憾的是Derby是单用户的,在生产环境下一般采用支持多用户的数据库,来