【发布时间】:2017-03-02 15:34:19
【问题描述】:
我正在尝试将通常为无符号整数和无符号 Bigint 的数据加载到配置单元表中。根据 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 表中?
【问题讨论】:
-
使用有符号 type 存储无符号 值 有什么问题 - 您担心该值可能高于最大值(例如INT 3,000,000,000)? Hive 文档建议使用
DECIMAL(x,0)来存储最多为x位数的整数值,其中x高于BIGINT 的容量(并且只要x -
是的,我在考虑如何存储给定数字类型的最大值。所以通过使用decimal我们可以存储unsigned max int value或者big int value。
-
@samson 谢谢。我正在寻找存储最大无符号整数/大整数值。小数(x,0)正在工作。