Hive 是建立在 Hadoop 上的数据仓库基础构架。
它提供了一系列的工具,可以用来进行数据提取转化加载(ETL ),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。
Hive 定义了简单的类 SQL 查询语言,称为 QL ,它允许熟悉 SQL 的用户查询数据。
同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
Hive是SQL解析引擎,它将SQL语句转译成M/R Job然后在Hadoop执行。
Hive的表其实就是HDFS的目录,按表名把文件夹分开。如果是分区表,则分区值是子文件夹,
可以直接在M/R Job里使用这些数据。
Hive 相当于hadoop的可视化工具,如Mysql的可视化工具Navicat for MySQL,
oracle的可视化工具PLSQLDeveloper,它可以起很多个,而且起不同版本的。
只要环境参数配置好了。就像Navicat for MySQL和sqldeveloper可以开多个。
Hive的数据存储基于Hadoop HDFS。
Hive没有专门的数据存储格式存储结构主要包括:数据库、文件、表、视图、索引。
Hive默认可以直接加载文本文件(TextFile),还支持SequenceFile、RCFile。