Hive_2. 数据类型

本文介绍了如何在Hive中使用复合数据类型,包括ARRAY、STRUCT和MAP。通过创建表、加载数据、查询数据,展示了如何访问ARRAY的元素、STRUCT的字段以及MAP的键值。还探讨了Hive数据类型的分隔符和转换,并提供了示例查询。
摘要由CSDN通过智能技术生成

1. Hive 的数据类型

以下数据类型是根据最新的 Hive 0.14.0 版本进行总结。目前 Hive 支持14种基本数据类型 和 5种复杂数据类型:
1.1 基本数据类型:

数据类型    

Description

Example

TINYINT

1个字节(8位)有符号整数( 从-128 到 127), 后缀 Y 用来表示小范围的数字

10Y

SMALLINT

2字节(16位)有符号整数(从-32,768 到 32,767) , 后缀S用来表示一个egular descriptive number

10S

INT

4字节(32位)有符号整数(从-2,147,483,648 到  2,147,483,647)

10

BIGINT

8字节(64位)有符号整数(从-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807),后缀为 L

100L

FLOAT

4字节(32位)单精度浮点数,范围在1.40129846432481707e-45 to 3.40282346638528860e+38 (正负值),暂时还不支持科学计数法。用它进行存储会非常接近数字值

1.2345679

DOUBLE

8字节(64位)双精度浮点数,范围在(4.94065645841246544e-324d 到 1.79769313486231570e+308d]正负值]。暂时还不支持科学计数法,用它来存储会非常接近数字值[numeric values]

1.2345678901234567

DECIMAL
十进制

从 Hive 0.11.0 版本开始引入的支持38位的硬编码。Hive 0.13.0版本推出用户自定义的精确度和规模。
它的范围在1039 - 1 to 1 - 1038之间,DECIMAL数据类型存储数据的精确值,它的默认定义格式是decimal(10,0).

DECIMAL (3,2) for 3.14

BINARY

从 Hive 0.80 版本开始引入,它只支持与STRING类型的转换,反之亦然。

1011

BOOLEAN

TRUE or FALSE

TRUE

STRING

它使用单引号(')或者双引号(")来表达包含的字符串。Hive 使用 C 语言格式的字符串,最大溢出大小在 2G左右。

'Books' or "Books"

CHAR

该类型从Hive 0.13.0以后可用,在 Hive 0.14 版本以后,可以在UDF中使用过该类型。它的最大长度是255

'US' or "US"

VARCHAR

从 Hive 0.12.0开始便支持该类型。从 Hive 0.14.0以后在 UDF 中可以使用该类型。它最大长度是65355。如果一个 STRING 类型值转换为 VARCHAR 的时超出指定长度,字符串将会被截取。 

'Books' or "Books"

DATE

从 Hive 0.12版本以后开始支持该类型。用来指定年,月,日。格式是 YYYY-MM-DD。它的范围从0000-01-01 to 9999-12-31

'2013-01-01'

TIMESTAMP

从Hive 0.8.0开始便支持该类型,它用来描述指定的年,月,日,时,分,秒,毫秒。格式是YYYY-MM-DD HH:MM:SS[.fff...]

'2013-01-01 12:00:01.345'


2. 复杂数据类型:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值