最近在Hive数据类型的使用上遇到个坑,记一笔~
我们的Hive网页版在建表的时候默认字段类型是TINYINT,用户数据是数字的时候一般不会去改成INT类型。
之后会把数据LOAD到表里,结果select * 的时候全是null,就来找我。
对了半天的表结构,分隔符、存储类型都没问题,后来才发现是数据类型有问题。
附数据类型值范围表
类型名称 | 大小 | 最小值 | 最大值 | 示例 |
TINYINT | 1字节 | -128 | 127 | 45Y |
SMALLINT | 2字节 | -32768 | 32767 | 100S |
INT | 4字节 | -2,147,483,648 | 2,147,483,647 | 36 |
BIGINT | 8字节 | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 | 2000L |
FLOAT | 4字节 | -- | --- | 4字节单精度 |
DOUBLE | 8字节 | -- | -- | 8字节双精度 |
DECIMAL | -- | -- | -- | DECIMAL(9, 7) |