Hive(7) Hive的数据类型
Hive的数据类型
基本数据类型
| 类型名称 | 描述 | 举例 |
|---|---|---|
| boolean | true/false | true |
| tinyint | 1字节的有符号整数 | 1 |
| smallint | 2字节的有符号整数 | 1 |
| int | 4字节的有符号整数 | 1 |
| bigint | 8字节的有符号整数 | 1 |
| float | 4字节单精度浮点数 | 1.0 |
| double | 8字节单精度浮点数 | 1.0 |
| string | 字符串(不设长度) | “abc” |
| varchar | 字符串(1-65355长度,超长截断) | “abc” |
| timestamp | 时间戳 | 1563157873 |
| date | 日期 | 20190715 |
复合数据类型
| 类型名称 | 描述 | 举例 |
|---|---|---|
array |
一组有序的字段,字段类型必须相同 array(元素1,元素2) | Array(1,2,3) |
map |
一组无序的键值对 map(k1,v1,k2,v2) |
Map(‘a’,1,'b',2) |
struct |
一组命名的字段,字段类型可以不同 struct(元素1,元素2) |
Struct('a',1,2,0) |
-
array类型的字段的元素访问方式- 通过下标获取元素,下标从
0开始 - 如获取第一个元素
array[0]
- 通过下标获取元素,下标从
-
map类型字段的元素访问方式- 通过键获取值
- 如获取
a这个key对应的valuemap['a']
-
struct类型字段的元素获取方式- 定义一个字段
c的类型为struct{a int, b string} - 获取
a和b的值- 使用
c.a和c.b获取其中的元素值
- 使用
- 这里可以把这种类型看成是一个对象
- 定义一个字段
-
示例:创建一张表,包含了
array、map、struct类型的字段
create table complex(
col1 array<int>,
col2 map<string,int>,
col3 struct<a:string,b:int,c:double>
)
Hive官网(学会查找帮助)
平时工作中,要多查看Hive官方文档
hive官网:https://hive.apache.org/
Hql使用帮助:https://cwiki.apache.org/confluence/display/Hive/LanguageManual

浙公网安备 33010602011771号