show functions:查看hive所有的内置函数
desc function collection_set:查看collection_list函数的具体用法
一、数据类型
1.基本数据类型
hive 是严格的读时模式,在做数据查询时检查数据是否合法,如果不合法则使用NULL来代替
timestap是可以指定数据类型格式,如果是年月日时分秒的格式,必须写全才能映射成功
自动转换(隐式转换):在做运算时,小范围类型都可以自动转为大范围类型做运算
2.复杂数据类型
(1)array
格式
在含有array数据类型的表中,在创建表时,不仅要指明字段之间间隔符号,还要指明里面数据的间隔符号
row format delimited fields terminated by '\t' --指定字段分割符号
collection items terminated by ',' --指定项分隔符,若不指明,则会将里面的数据(string类型)当成一项全部存进去
- 列转行——展开函数
- 行转列——collect_set函数、collect_list函数
借助collect_set函数,列转行函数,有去重效果。collect_list函数没有去重效果
(2)map
(3)struct
(4)复杂数据类型
hive最高可以支持8层嵌套
默认行分隔符为ctrl+V ctrl+A,在linux上显示为^A,或者为\001 \u0001
三、Hive函数
查看支持的函数
show functions;
desc function avg;
1.日期函数
(1)显示当前系统时间的函数
(2)日期转时间戳函数:unix_timestamp()
(3)时间转日期函数form_unixtime
(4)计算时间差函数datediff()、months_between()
(5)日期时间分量函数
(6)日期定位函数last_day()、next_day()
last_day(date) - Returns the last day of the month which the date belongs to.
next_day(start_date, day_of_week) - Returns the first date which is later than start_date and named as indicated.
(7)日期加减函数date_add()、date_sub()、add_months()
(8)字符串转时间to_date()
(9)日期转字符串date_format()
2.字符串函数
(1)