Hive 数据类型

Hive 数据类型

本章介绍了Hive中不同的数据类型,这些类型涉及到表的创建。Hive中的所有数据类型分为四种类型,如下所示:

  • 列类型
  • 字面量
  • 空值
  • 复杂类型

阅读更多:Hive 教程

列类型

列类型用作Hive的列数据类型。它们如下:

整型

整数类型数据可以使用整型数据类型 INT 指定。当数据范围超出 INT 的范围时,需要使用 BIGINT。如果数据范围小于 INT,则使用 SMALLINT。TINYINT 小于 SMALLINT。

以下表格描述了各种 INT 数据类型:

类型 后缀 示例
TINYINT Y 10Y
SMALLINT S 10S
INT - 10
BIGINT L 10L

字符串类型

字符串类型数据类型可以使用单引号(”)或双引号(” “)指定。它包含两种数据类型:VARCHAR 和 CHAR。Hive遵循C类型转义字符。

以下表格描述了各种CHAR数据类型:

数据类型 长度
VARCHAR 1到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的BigDecimal格式相同。用于表示不可变任意精度。其语法和示例如如下:

 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数据类型组成。

十进制类型

-308 308

空值

缺失值由特殊值NULL表示。

复杂类型

Hive的复杂数据类型如下:

数组

在Hive中,数组的使用方式与在Java中的使用方式相同。

语法: ARRAY<data_type>

映射

在Hive中,Maps与Java Maps类似。

语法:MAP<primitive_type, data_type>

结构体

在Hive中,结构体类似于使用带注释的复杂数据。

语法:STRUCT<col_name : data_type [COMMENT col_comment], ...>

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程