hive中的数据类型

来源:互联网 发布:免费域名提供商 编辑:程序博客网 时间:2024/04/30 13:49

本文将介绍hive中创建表时涉及的不同的数据类型。Hive中的数据类型分为以下四种:

Column Types列类型
Literals文字
Null Values空值
Complex Types复杂类型

 

Column Types列类型

Column Types作为hive列数据类型。

他们如下:

Integral Types:整数类型,分以下4种:

长整型BIGINT(eg:10L)

整形INT(eg:10)

短整型SMALLINT(eg:10S)

超短整型TINYINT(eg:10S)

 

String Types:字符串类型:

字符串类型的数据类型可以指定使用单引号(')和双引号(" ")。它包含两个数据类型:VARCHAR和CHAR。HIVE遵循c类型转义字符

VARCHAR(可变长) 长度范围:1 to 65355

CHAR(定长) 长度范围: 1 to 255

Timestamp时间戳

它支持传统的UNIX时间戳与可选的纳秒精度。它支持java.sql.Timestamp“YYYY-MM-DD HH:MM:SS.fffffffff”格式”yyyy-mm-dd hh:mm:ss.ffffffffff”格式

 

Dates日期类型:

日期值描述的年/月/日{ { YYYY-MM-DD } }格式

 

Decimals类型hive的十进制类型和java的十进制类型一样,用来表示不变的任意精度,语法如下:

DECIMAL(precision, scale)
decimal(10,0)

 

 Union Types类型Union Types是一异构数据类型。您可以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}


Literals文字类型:

Floating Point Types浮点类型

Decimal Type十进制类型只是浮点值范围高于双精度类型。范围大约是负的10308次方 到正10 308次方

Null Value类型:没有值

Complex Types复杂类型有以下几种:

Arrays:java中的arrays一样

Maps:和java中的maps类似

Structs:类似于使用复杂的数据备注

 

0 0