Hive数据类型

Posted NC_NE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive数据类型相关的知识,希望对你有一定的参考价值。

一、基本数据类型
Hive数据类型java数据类型长度例子
TINYINTbyte1byte 有符号整数
SMALINTshort2byte 有符号整数
INTint4byte 有符号整数
BOOLEANboolean布尔类型,true 或者falseTRUE/ FALSE
FLOATfloat单精度浮点数3.14159
DOUBLEdouble双精度浮点数3.14159
STRINGstring字符系列。可以指定字符集。可以使用单引号或者双引号。now is the time ’ “for all good men”
TIMESTAMP时间类型
BINARY字节数组
DECIMAL高精度浮点数decimal(9,2)

DECIMAL类型做两点说明:

  1. DECIMAL(9,8)代表最多9位数字,后8位是小数。此时也就是说,小数点前最多有1位数字,如果超过一位则会变成null。
  2. 如果不指定参数,那么默认是DECIMAL(10,0),即没有小数位,此时0.82会变成1。
二、复杂数据类型
Hive数据类型定义构造取值
arrayarrayarray,collect_set(col)array[0] array[3] …
mapmap<int,string> map<string,string>map(key1,value1,key2,value2,…) str_to_map(text[,delimiter1,delimter2])map[‘key1’]
structstructid:int,name:stringname_struct(name1,value1,name2,value2,…)struct.name1

str_to_map说明:delimiter1是key-value之间的分割符,delimiter2是键值对与键值对之间的分隔符

以上是关于Hive数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Hive 数据类型:双精度和比例

Hive之数据类型

如何更改 datax 以支持hive 的 DECIMAL 数据类型?

如何更改 datax 以支持hive 的 DECIMAL 数据类型?

HIVE取整和取余

时间戳以字符串类型(带有小数点)存储在hive里,现在要把时间戳字段转换成时间,要用啥函数,求转换!