我正在尝试将通常为无符号整数和无符号bigint的数据加载到配置单元表中。根据hive文档,我看到它只支持有符号整数和有符号大整数int/integer(4字节有符号整数,从-2147483648到2147483647)bigint(8字节有符号整数,从-9223372036854775808到9223372036854775807)有没有办法将无符号数值(tinyint、smallint、int、bigint)存储到配置单元表中?
r9f1avp51#
短篇故事长篇:Hive文档的节选 DECIMAL 数据类型这个 DECIMAL 配置单元中的类型是基于java的 BigDecimal 用来表示不可变的任意精度的十进制数。。。限制为38位。。。从Hive0.13开始,用户可以在创建表时指定比例和精度。。。 ¤ 如果未指定比例,则默认为0(无小数位数) ¤ 如果未指定精度,则默认为10。大于bigint的整型文字必须用十进制(38,0)处理。后缀bd是必需的。。。所以呢 DECIMAL 绝对是您要查找的数据类型。
DECIMAL
BigDecimal
1条答案
按热度按时间r9f1avp51#
短篇故事长篇:Hive文档的节选
DECIMAL
数据类型这个
DECIMAL
配置单元中的类型是基于java的BigDecimal
用来表示不可变的任意精度的十进制数。。。限制为38位。。。从Hive0.13开始,用户可以在创建表时指定比例和精度。。。
¤ 如果未指定比例,则默认为0(无小数位数)
¤ 如果未指定精度,则默认为10。
大于bigint的整型文字必须用十进制(38,0)处理。后缀bd是必需的。。。
所以呢
DECIMAL
绝对是您要查找的数据类型。