一、基本数据类型
TINYINT — 1byte有符号整数
SMALLINT— 2byte有符号整数
INT— 4byte有符号整数
BIGINT —8byte有符号整数
BOOLEAN —布尔类型 true or false
FLOAT --单精度浮点数
DOUBLE—双精度浮点数
STRING—字符系列
TIMESTAMP—时间类型
BINARY—字节数组
二、集合数据类型
1、struct 可以通过”点“符号访问元素内容,
e.g. struct
第一个字段可以通过字段street引用。
2、map 键值对元组集合,使用数组表示法可以访问数据
e.g. map
如果某个列的数据类型是map,其中键值对是’frist’->‘john’和’last’->‘done’,那么可以通过字段名[‘last’]获取最后一个元素。
3、array 数组是一组具有相同数据类型和名称的变量的集合。这些变量成为组的元素,每个数组元素都有一个编号,编号从零开始。数组为[‘street’,‘city’],那么第2个元素可以通过数组名[1]引用。
create table test2(
name string,
friends array,
children map
address struct street:string,city:string
)
row format delimited —行的格式定义
fields terminated by ‘,’ —字段以*分割
collection items terminated by ‘_’ —集合元素以分割
map keys terminated by ‘:’
lines terminated by ‘n’;
三、类型转化
1、任何整数类型都可以隐式地转换为一个范围更广的类型(低转高)
2、使用cast操作显示进行数据类型转换
e.g. cast(‘1’ as int) 把字符串1转换成整数1,强制类型转换失败,表达式返回空值NULL。
cast(‘X’ as int) ---- NULL



