hive的內建函式
阿新 • • 發佈:2019-01-27
在Hive中,函式包括以下型別:
一、內建函式
1、數學函式
- (1)round:四捨五入
- select round(數值,小數點位數);
- (2)ceil:向上取整
- select ceil(45.6); --46
- (3)floor:向下取整
- select floor(45.6); --45
- (1)lower:轉成小寫
- select lower('Hive'); --hive
- (2)upper:轉成大寫
-
select lower('Hive'); --HIVE
- (3)length:長度
- select length('Hive'); --4
- (4)concat:拼接字串
- select concat('hello','Hive'); --helloHive
- (5)substr:求子串
- select substr('hive',2); --ive
- select substr('hive',2,1); --i
- (6)trim:去掉前後的空格
- select trim(' hive '); -hive
- (7)lpad:左填充
-
對hive填充到10位,補位用#
- select lpad('hive',10,'#'); --######hive
- (8)rpad:右填充
- select rpad('hive',10,'#'); --hive######
- select size(map(1,'yy',2,'xx')); --2 map結合的元素個數
- select cast(1 as float); --1.0
- select cast('2016-05-22' as date); --2016-05-22
- (1)to_date
-
select to_date('2015-05-22 15:34:23'); --2015-05-22
- (2)year
- select year('2015-05-22 15:34:23'); --2015
- (3)month
- select month('2015-05-22 15:34:23'); --5
- (4)day
- select day('2015-05-22 15:34:23'); --22
- (5)weekofyear
- select weekofyear('2015-05-22 15:34:23'); --21
- (6)datediff
- select datediff('2015-05-22 15:34:23','2015-05-29 15:34:23'); --[-7]
- (7)date_add
- select date_add('2015-05-22 15:34:23',2); --2015-05-24
- (8)date_sub
- select date_sub('2015-05-22 15:34:23',2); --2015-05-20
coalesce:從左到右返回第一個不為null的值
case...when...:條件表示式
- select ename,job,sal,
- case job when 'president' then sal+100
- when 'manager' then sal+800
- else sal+400
- end
- from emp;
二、聚合函式
- (1)count:總數
- (2)sum:和
- (3)max:最大值
- (4)min:最小值
- (5)avg:平均數
三、表生成函式
- select explode(map(1,'xx',2,'yy',3,'zz'));
- 1 xx
- 2 yy
- 3 zz