Hive数据类型
Posted NC_NE
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive数据类型相关的知识,希望对你有一定的参考价值。
一、基本数据类型
Hive数据类型 | java数据类型 | 长度 | 例子 |
---|---|---|---|
TINYINT | byte | 1byte 有符号整数 | |
SMALINT | short | 2byte 有符号整数 | |
INT | int | 4byte 有符号整数 | |
BOOLEAN | boolean | 布尔类型,true 或者false | TRUE/ FALSE |
FLOAT | float | 单精度浮点数 | 3.14159 |
DOUBLE | double | 双精度浮点数 | 3.14159 |
STRING | string | 字符系列。可以指定字符集。可以使用单引号或者双引号。 | now is the time ’ “for all good men” |
TIMESTAMP | 时间类型 | ||
BINARY | 字节数组 | ||
DECIMAL | 高精度浮点数 | decimal(9,2) |
DECIMAL类型做两点说明:
- DECIMAL(9,8)代表最多9位数字,后8位是小数。此时也就是说,小数点前最多有1位数字,如果超过一位则会变成null。
- 如果不指定参数,那么默认是DECIMAL(10,0),即没有小数位,此时0.82会变成1。
二、复杂数据类型
Hive数据类型 | 定义 | 构造 | 取值 |
---|---|---|---|
array | array | array,collect_set(col) | array[0] array[3] … |
map | map<int,string> map<string,string> | map(key1,value1,key2,value2,…) str_to_map(text[,delimiter1,delimter2]) | map[‘key1’] |
struct | structid:int,name:string | name_struct(name1,value1,name2,value2,…) | struct.name1 |
str_to_map说明:delimiter1是key-value之间的分割符,delimiter2是键值对与键值对之间的分隔符
以上是关于Hive数据类型的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 datax 以支持hive 的 DECIMAL 数据类型?