Hive是数据仓库工具,可以把hadoop下的原始结构化数据变成hive中的表;支持一种与SQL几乎完全相同是语言HiveQL,除了不支持更新、索引和事务,几乎SQL的其他特性都能支持;可以看成是从SQL到Map-Reduce的映射器;提供shell、JDBC/ODBC、Thrift、Web等接口。
Hive的安装模式:(1)内嵌模式:元数据保持在内嵌的Derby模式,只允许一个会话连接(2)本地独立模式:在本地安装MySql,把元数据放到MySql内(3)远程模式:元数据放置在远程的MySql数据库。
Hive的常用字段类型:(1)string 不定长字符串(2)tinyint 3位长整形数(3)smallint 5位长整形数(4)int 10位整型(5)bigint 19位整型(6)float 浮点数(7)double 双精度(8)boolean 布尔型
Hive是数据表分为内部表和外部表,(1)内部表:指hive创建并通过load data inpath进数据库的表,这种表可以理解为数据和表结构都保存在一起的数据表。当通过drop tabletablename删除元数据中表结构的同时,表中的数据也会从hdfs中被删除(2)外部表:指在表结构创建以前,数据已经保存在hdfs中了,通过创建表结构,将数据格式化到表的结构里。当drop table tablename的时候,hive仅仅删除元数据的表结构,而不会删除hdfs上的文件,所以,相比内部表,外部表可以更放心大胆的使用。