列类型
列类型用作Hive的列数据类型。它们如下:
整数类型
可以使用整数数据类型INT指定整数类型数据。当数据范围超出INT的范围时,您需要使用BIGINT;如果数据范围小于INT,则使用SMALLINT。TINYINT小于SMALLINT。
下表描述了各种INT数据类型:
类型 |
后缀 |
例子 |
TINYINT |
Y |
10Y |
SMALLINT |
S |
10S |
INT |
- |
10 |
BIGINT |
L |
10L |
字符串类型
可以使用单引号('')或双引号("")来指定字符串类型的数据类型。它包含两种数据类型:VARCHAR和CHAR。配置单元遵循C类型的转义符。
下表描述了各种CHAR数据类型:
数据类型 |
长度 |
VARCHAR |
1 to 65355 |
CHAR |
255 |
时间戳
它以可选的纳秒精度支持传统的UNIX时间戳。它支持java.sql.Timestamp格式“YYYY-MM-DD HH:MM:SS.fffffffff”和格式“yyyy-mm-dd hh:mm:ss.ffffffffff”。
日期
DATE值以年/月/日的格式{{YYYY-MM-DD}}进行描述。
小数
Hive中的DECIMAL类型与Java的Big Decimal格式相同。它用于表示不变的任意精度。语法和示例如下:
DECIMAL(precision, scale)
decimal(10,0)
联合类型
联合是异构数据类型的集合。您可以使用create union创建实例。语法和示例如下:
UNIONTYPE<int, double, array<string>, struct<a:int,b:string>>
{0:1}
{1:2.0}
{2:["three","four"]}
{3:{"a":5,"b":"five"}}
{2:["six","seven"]}
{3:{"a":8,"b":"eight"}}
{0:9}
{1:10.0}
字面量
Hive中使用以下字面量:
浮点类型
浮点类型就是带小数点的数字。通常,此数据类型由DOUBLE数据类型组成。
小数类型
十进制类型数据不过是浮点值,其范围比DOUBLE数据类型高。小数类型的范围是大约-10 -308到 10 308。