大数据开发必须会 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表示 |
举例:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qJpbFI0B-1651073112776)(.\20220428\微信截图_20220427232116.png)]](https://file.cfanz.cn/uploads/png/2022/04/27/15/0Ub0B9c6bb.png)
用 Hive 读取:

欢迎关注。










