hive数据类型
hive数据类型包括:数字类型,时间类型,string类型,misc类型和复合类型
数值类型包括:
- TINYINT (1-byte,表示从-128到127的整数)
- SMALLINT (2-byte,表示从-32,768到32,767的整数)
- INT/INTEGER (4-byte,表示从-2,147,483,648到2,147,483,647的整数)
- BIGINT (8-byte,表示从-9,223,372,036,854,775,808到9,223,372,036,854,775,807的整数)
- FLOAT (4-byte单精度浮点类型)
- DOUBLE (8-byte双精度浮点类型)
- DOUBLE PRECISION (alias for DOUBLE, only available starting with Hive 2.2.0)
- DECIMAL (Hive 0.11.0 开始支持,Hive 0.13.0 开始支持用户指定precision和scale,比如DECIMAL(9, 2)表示精度为9,小数点占两位。小数超过两位的部分四舍五入,整数部分最多为7位。默认为DECIMAL(10, 0))
- NUMERIC (与DECIMAL一样, 从Hive 3.0.0开始支持)
时间类型:
- TIMESTAMP (从Hive 0.8.0开始支持)
- DATE (从Hive 0.12.0开始支持)
- INTERVAL (从Hive 1.2.0开始支持)
String类型:
- STRING
- VARCHAR (从Hive 0.12.0开始支持)
- CHAR (从Hive 0.13.0开始支持)
Misc类型:
- BOOLEAN
- BINARY (starting with Hive 0.8.0)
Complex类型:
- arrays: ARRAY<data_type>
- maps: MAP<primitive_type, data_type>
- structs: STRUCT<col_name : data_type [COMMENT col_comment], ...>
- union: UNIONTYPE<data_type, data_type, ...>