hive 数据类型和文件格式
- 基本数据类型
| 数据类型 | 长度 | 例子 |
|---|---|---|
| TINYINT | 1byte | 20 |
| SMALINT | 2byte | 20 |
| INT | 4byte | 20 |
| BIGINT | 8byte | 20 |
| BOOLEAN | 布尔类型 | TRUE/FALSE |
| FLOAT | 单精度浮点数 | 3.14 |
| DOUBLE | 双精度浮点数 | 3.14 |
| STRING | 字符序列 | |
| TIMESTAMP | 整数,浮点数,字符串 | |
| BINARY | 字节数组 |
- 集合数据类型
| 数据类型 | 描述 | 示例 |
|---|---|---|
| STRUCT | 结构 | struct('John', 'Doe') |
| MAP | 键-值对元组集合 | map('first', 'JOIN', 'last', 'Doe') |
| ARRAY | 数组 | Array('John', 'Doe') |
下面是一个表结构的定义示例。
CREATE TABLE employees (
name STRING,
salary FLOAT,
subordinates ARRAY<STRING>,
deductions MAP<STRING, FLOAT>,
address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
COLLECTION ITEMS TERMINATED BY '\002'
MAP KEYS TERMINATED BY '\003'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
-
文本文件分隔符 分隔符 描述 \n 换行符,一行一条jilu记录 ^A(Ctrl+A) 字段分隔符,可使用八进制\001表示 ^B 用于分隔ARRAY或者STRUCT中的元素,可使用八进制\002表示 ^C 用于分隔MAP中键和值之间的分隔,可使用八进制\003表示 示例见2.
本作品采用《CC 协议》,转载必须注明作者和本文链接
saltedfish520 的个人博客
关于 LearnKu
推荐文章: