什么是Hive
- Hive 是建立在 Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL ),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。
- Hive是SQL解析引擎,它将SQL语句转译成M/R Job然后在Hadoop执行。
- Hive的表其实就是HDFS的目录/文件,按表名把文件夹分开。如果是分区表,则分区值是子文件夹,可以直接在M/R Job里使用这些数据。
Hive的metastore
- metastore是hive元数据的集中存放地(元数据存在hive数据库的数据表与HDFS存储文件的对应关系)
- metastore默认使用内嵌的derby数据库作为存储引擎
- Derby引擎的缺点:一次只能打开一个会话
- 使用Mysql作为外置存储引擎,多用户同时访问
Hive系统架构
Hive安装
把hive-0.12.0.tar.gz解压到/data/目录下
[root@master conf]# tar -zxvf hive-0.12.0.tar.gz -C /data
配置Hive环境变量,可参考java环境变量配置。
[root@master conf]# source /etc/profile
配置mysql metastore
上传mysql数据库驱动m