Hive数据类型

本文介绍了Hive的各种数据类型,包括基本数据类型如TINYINT、STRING和TIMESTAMP,以及集合数据类型如STRUCT、MAP和ARRAY。文章还详细讨论了Hive的数据类型转换,包括自动类型转换和手动强制转换,特别提到了隐式转换的规则和如何使用CAST函数进行转换。对于实际遇到的问题,如字符串数据排序错误,可以通过将字符串转换为INT类型来解决。
摘要由CSDN通过智能技术生成

Hive基本数据类型

Hive支持的基本数据类型有:
TINKYINT
SMALLINT
INT
BIGINT
BOOLEAN
FLOAT
DOUBLE
STRING
TIMESTAMP

Hive集合数据类型

STRUCT
MAP
ARRAY

Hive数据类型转换

hive执行隐形转换,比如查询一张表的某个字段SMALLINT类型的数据,插入另一张表的INT类型的字段,那么这个过程是可以隐式转换的,不需要我们自己转换,但INT类型不能隐式转换程SMALLINT。即范围小的可以转换为范围大的。

Hive官方文档给出了隐式转换的规则:
在这里插入图片描述

Hive自动类型转换

参数hive.metastore.disallow.incompatible.col.type.changes默认为false,如果设置为true,则类型会按根据上表,如果转换类型是允许的,则数据会正常显示,否则显示为NULL。

Hive手动强制数据类型转换

通过CAST函数,可以实现类型转换。
今天之前遇到一种情况,数据类型定义的字符串,实际数据存储的是数字,排序的时候按这个字段排序,则用的是字符序列,因此就会造成9,81

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值