Hive-数据类型

1.Hive的基本数据类型

  

  由上表可以看出,Hive不支持日期类型,在Hive里日期都是字符串来标识的,而常用的日期格式转化操作则是通过自定义函数进行操作;

  Hive是用java开发的,Hive里的基本数据类型和java的基本数据类型也是一一对应的,除了String类型;有符号的整数类型:TINYINT,SMALLINT,INT和BIGINT分别等价于java的byte,short,int和long原子类型,它们分别为1字节,2字节,4字节和8字节有符号整数;Hive的浮点数据类型FLOAT和DOUBLE,对应于java的基本类型float和double类型;而hive的BOOLEAN类型相当于java的基本类型Boolean;

  对于Hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB的字符串;

  Hive支持基本类型的转换,低字节的基本类型可以转换为高字节的类型;例如,TINYINT,SMALLINT,INT可以转换为FLOAT,而所有的整数类型,FLOAT以及STRING类型可以转换为DOUBLE类型,这些转换可以从java语言的类型转换考虑,因为hive就是用java编写的;当然也支持高字节类型转换为低字节类型,这就需要使用hive的自定义函数CAST了;

2.Hive的复杂数据类型

  

3.文本文件数据编码

  文本格式文件,毫无疑问,对于用户来讲,应该很熟悉以逗号或者制表符分割的文本文件,只要用户需要,Hive是支持这些文件格式的;然而这两种文件格式有一个共同的缺点,那就是用户需要对文本文件中那些不需要作为分隔符处理的逗号或者制表符格外小心,也因此,Hive默认使用几个控制字符,这些字符很少出现在字段中;Hive使用属于field来标识替换默认分隔符的字符;

  

 

原文地址:https://www.cnblogs.com/wnwn/p/12737070.html