Hive教程

Hive 数据类型

本章将带您了解 Hive 中的不同数据类型,这些数据类型涉及到表的创建。 Hive中所有的数据类型分为四种,如下:
Column Types Literals Null Values Complex Types

Column Types

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

Integral Types

可以使用整数数据类型 INT 指定整数类型数据。当数据范围超过INT的范围时,需要使用BIGINT,如果数据范围小于INT,则使用SMALLINT。 TINYINT 比 SMALLINT 小。
下表描述了各种 INT 数据类型:
类型 后缀 示例
TINYINT Y 10 年
SMALLINT S 10S
INT - 10
BIGINT L 10L

String Types

可以使用单引号 (' ') 或双引号 ("") 指定字符串类型的数据类型。它包含两种数据类型:VARCHAR 和 CHAR。 Hive 遵循 C 类型转义字符。
下表描述了各种 CHAR 数据类型:
数据类型 长度
VARCHAR 1 到 65355
CHAR 255

Timestamp

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

Dates

DATE 值以年/月/日格式以 {{YYYY-MM-DD}} 的形式描述。

Decimals

Hive 中的 DECIMAL 类型与 Java 的 Big Decimal 格式相同。它用于表示不可变的任意精度。语法和示例如下:
DECIMAL(precision, scale)
decimal(10,0)

Union Types

Union 是异构数据类型的集合。您可以使用 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}

Literals

Hive 中使用了以下文字:

Floating Point Types

浮点类型只不过是带小数点的数字。一般这种类型的数据由DOUBLE数据类型组成。

Decimal Type

Decimal 类型的数据只不过是比 DOUBLE 数据类型范围更大的浮点值。十进制类型的范围大约是-10 -308 到 10 308

Null Value

缺失值由特殊值 NULL 表示。

Complex Types

Hive 复杂数据类型如下:

Arrays

Hive 中数组的使用方式与 Java 中的使用方式相同。
Syntax: ARRAY<data_type>

Maps

Hive 中的地图类似于 Java 地图。
Syntax: MAP<primitive_type, data_type>

Structs

Hive 中的结构类似于使用带有注释的复杂数据。
Syntax: STRUCT<col_name : data_type [COMMENT col_comment], ...>
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4