Hive學習筆記 5 Hive的資料查詢、函式

土豆拍死馬鈴薯發表於2017-10-08

nvl(linename,0)  --將某一列為空時轉為0

判斷是否為null 不能用=null ,而要用 is 或者is not nul





Hive的函式:內建函式、自定義函式

1、數學函式:

round四捨五入:select round(12,345,2) 小數點後2位  round(12.345,0)小數點前一位  round(12.345,-1)小數點前2位

ceil向上取整

floor向下取整


2、字元函式

lower:把字串轉成小寫

upper:。。。大寫

length:長度

concat:拼加

substr:子串

trim:去掉字串前後空格

lpad:左填充

rpad:右填充


3、收集函式、轉換函式

收集函式size:select size(map(1,'Tom',2,'Marry'))

轉換函式cast:select cast('2015-04-10' as date);


4、日期函式

to_date:取出一個字串中日期的部分

year:取年

month:取月

day:取日

weekofyear:第幾周

datediff:兩個日期相差的天數

date_add:在日期上加上天數

date_sub:在日期上減去天數


5、條件函式

coalesce:從左到右返回第一個不為Null的值

case ... when... :CASE  a WHEN b THEN c [WHEN d THEN e] * [ELSE f]  END

select ename,job,sal

    case job when 'BOSS' then sal + 1000

        when 'MANAGER' then sal + 800

        else sal + 400

    end

from emp;


6、聚合函式

count

sum

min

max

avg


7、表生成函式

explode:將map等集合生成列

select explode (map(1,'Tom',2,'Java'))

1 Tom

2 Java


8、自定義函式

待更


9、

等值連線、

不等值連線、

外連線,左外連線,右外連線

自連線


10、子查詢

hive只支援from 和where的子查詢




相關文章