大数据开发必须会 SQL,而 Hive SQL 和 普通的 SQL 有差异。今天开始学习 HQL。在学习编程之前,首先了解 Hive 的基本数据类型。
1.基本数据类型
数据类型 | 长度 | 例子 |
---|---|---|
TINYINT | 1 byte 有符号整数 | 20 |
SMALINT | 2 byte 有符号整数 | 20 |
INT | 4 byte 有符号整数 | 20 |
BIGINT | 8 byte 有符号整数 | 20 |
BOOLEAN | 布尔类型 | TRUE |
FLOAT | 单精度浮点数 | 3.14159 |
DOUBLE | 双精度浮点数 | 3.14159 |
STRING | 字符序列,可指定字符集 | ‘now’, “for all” |
TIMESTAMP | 整数,浮点,字符串 | 1327882394 1327882394.123456789 ‘2012-02-03 12:34:56.123456789’ |
BINARY | 字节数组 |
2.集合数据类型
数据类型 | 描述 | 字面语法示例 |
---|---|---|
STRUCT | 类似 C 语言的 struct 用 . 访问 | struct(‘John’,‘Doe’) |
MAP | 键值对,用数组表示法访问 例如[‘key’] | map(‘first’, ‘JOIN’, ‘last’, ‘Doe’) |
ARRAY | 数组,下标访问 | Array(‘John’,‘Doe’) |
3.文本文件数据编码
Hive 中默认的记录和字段分割符:
分割符 | 描述 |
---|---|
\n | 换行分割记录 |
^A(Ctrl+A) | 分隔字段(列) 用八进制编码\001表示 |
^B | 分隔 ARRAY 或者 STRUCT 中的元素 用八进制编码\002表示 |
^C | MAP 中键和值的分隔 用八进制编码\003表示 |
举例:
用 Hive 读取:
欢迎关注。