赞
踩
目录
Hive的数据类型比较特殊,与传统Java数据类型不一样,先回顾一下Java的数据类型
(1)数值型-整数:byte1B、short2B、int4B、long8B
(2)数值型-浮点数:float4B、double8B
(3)字符型:char2B
(4)布尔型:boolean1B
string
string是字符串常量,一旦创建后不可更改,运行速度最慢;Java中对String对象进行的操作实际上是一个不断创建新的对象并且将旧的对象回收的一个过程,所以执行速度很慢。
stringBuilder线程不安全,适用于单线程下在字符缓冲区进行大量操作,运行速度最快
stringBuffer线程安全,适用于多线程下在字符缓冲区进行大量操作,运行速度中等
而StringBuilder和StringBuffer的对象是变量,对变量进行操作就是直接对该对象进行更改,而不进行创建和回收的操作,所以速度要比String快很多。
需要注意的是Hive的基础数据类型与Java的不可混为一谈,它包含了Java的基础数据类型和引用数据类型
Hive中String类型相当于数据库的varchar类型,是一个可变字符串,理论上可以存储2GB的字符数
tinyInt(byte)
smalInt(short)
int(int)
bigInt(long)
boolean(boolean)
float(float)
double(double)
string(单线程的stringBuilder、多线程的StringBuffer)
timeStamp[时间戳]
binary[字节数组]
struct:例如struct{first String , last String},第一个元素可以用字段.first来获取
map:一组键值对元组集合,可以通过指定key获取value,例如map<String,int>
array:一组具有相同类型和名称的变量(元素)的集合,每个元素都有一个编号,从0开始,例如第二个元素用col[1]来进行引用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。