1、基本数据类型
Hive支持多种不同长度的整型和浮点型数据类型,支持布尔类型,也支持无长度限制的字符串类型,后续的Hive增加了时间戳数据类型和二进制数组数据类型。
和其他的SQL语言一样,这些都是保留字。需要注意的是所有的这些数据类型都是对Java中接口的实现,因此这些类型的具体行为细节和Java中对应的类型是完全一致的。例如,STRING类型实现的是Java中的String,FLOAT实现的是Java中的float,等等。
2、集合数据类型
Hive中的列支持使用struct,map和array集合数据类型。
同样的,这些集合名称同样也是保留字。
可以做个简单的Hive中表的创建:
Create table employees(
name STRING,
salary FLOAT,
subordinate ARRAY<STRING>,
deduction MAP<STRING,FLOAT>,
address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT>
);
3、文本文件数据编码
4、Hive中的数据库
Hive中数据库的概念本质上仅仅是表的一个目录或者命名空间。然而,对于具有很多组合用户的大集群来说,这是非常有用的,因为这样可以避免表命名冲突。通常会使用数据库来将生产表组织成逻辑组。如果用户没有显式指定数据库,那么将会使用默认的数据库default。
创建数据库的语句: