Hive 数据类型和文件格式
-
基本数据类型
数据类型 长度 例子 TINYINT 1byte有符号整数 20 SMALINT 2byte有符号整数 20 INT 4byte有符号整数 20 BIGINT 8byte有符号整数 20 BOOLEAN 布尔型,true 或 false TRUE FLOAT 单精度浮点数 3.14159 DOUBLE 双精度浮点数 3.14159 STRING 字符序列,单引号或双引号 'ana' | "ana bob!" TIMESTAMP 整数、浮点数或字符串 1327882394(Unix新纪元秒) BINARY 字节数组 备注:
常规的隐式类型转换:FLOAT类型 => DOUBLE类型
强制类型转换: s : string --- cast (s AS INT)
-
集合数据类型
数据类型 描述 字面语法示例 STRUCT 类似于C中结构体,可通过“点”符号访问元素内容。 struct('John','Doe') MAP 键-值对元组集合 map('first','John','last','Doe') ARRAY 一组具有相同类型和名称的变量集合。 Array('John', 'Doe') 备注:结构化数据 增加数据冗余 提升吞吐量?
-
读时模式与写时模式
写时模式 -》 传统数据库 -》 数据在写入数据库时对模式进行检查
读时模式 -》Hive -》不在数据加载时进行验证, 而在查询时进行
Hive 面对模式与文件内容不匹配时 =》 提供Null值