我试图将通常为无符号整数和无符号Bigint的数据加载到hive表中。根据Hive文档,我看到它只支持有符号整数和带符号的大整数
INT / INTEGER(4字节有符号整数,从-2,147,483,648到 2,147,483,647)BIGINT(8字节有符号整数,来自 -9,223,372,036,854,775,808至9,223,372,036,854,775,807)
有没有办法将无符号数值(tinyint,smallint,int,bigint)存储到Hive表中?
答案 0 :(得分:2)
短篇小说:摘自Hive documentation关于DECIMAL
数据类型
Hive中的
DECIMAL
类型基于Java的BigDecimal
用于表示不可变的任意精度十进制数 ... 限制为38位 ...
从Hive 0.13用户可以指定 创建表格时的比例和精度 ...¤如果 未指定比例,默认为0(无小数位数)
¤如果未指定精度,则默认为10.
必须使用DECIMAL(38,0)处理大于BIGINT的积分文字。 Postfix BD 是必需的......
所以DECIMAL
肯定是您要查找的数据类型。