Hive內建函式

2021-07-23 06:32:42 字數 2989 閱讀 2507

**

日期函式unix時間戳轉日期函式: from_unixtime語法:   from_unixtime(bigint unixtime[, string format])

返回值: string

說明: 轉化unix時間戳(從1970-01-01 00:00:00 utc到指定時間的秒數)到當前時區的時間格式

舉例:hive>   select from_unixtime(1323308943,』yyyymmdd』) from dual;

20111208

獲取當前unix時間戳函式: unix_timestamp語法:   unix_timestamp()

返回值:   bigint

說明: 獲得當前時區的unix時間戳

舉例:hive>   select unix_timestamp() from dual;

1323309615

日期轉unix時間戳函式: unix_timestamp語法:   unix_timestamp(string date)

返回值:   bigint

說明: 轉換格式為「yyyy-mm-dd hh:mm:ss「的日期到unix時間戳。如果轉化失敗,則返回0。

舉例:hive>   select unix_timestamp(』2011-12-07 13:01:03′) from dual;

1323234063

指定格式日期轉unix時間戳函式: unix_timestamp語法:   unix_timestamp(string date, string pattern)

返回值:   bigint

說明: 轉換pattern格式的日期到unix時間戳。如果轉化失敗,則返回0。

舉例:hive>   select unix_timestamp(』20111207 13:01:03′,』yyyymmdd hh:mm:ss』) from dual;

1323234063

日期時間轉日期函式: to_date語法:   to_date(string timestamp)

返回值:   string

說明: 返回日期時間欄位中的日期部分。

舉例:hive>   select to_date(』2011-12-08 10:03:01′) from dual;

2011-12-08

日期轉年函式: year語法:   year(string date)

返回值: int

說明: 返回日期中的年。

舉例:hive>   select year(』2011-12-08 10:03:01′) from dual;

2011

hive>   select year(』2012-12-08′) from dual;

2012

日期轉月函式: month語法: month   (string date)

返回值: int

說明: 返回日期中的月份。

舉例:hive>   select month(』2011-12-08 10:03:01′) from dual;

12hive>   select month(』2011-08-08′) from dual;

8日期轉天函式: day語法: day   (string date)

返回值: int

說明: 返回日期中的天。

舉例:hive>   select day(』2011-12-08 10:03:01′) from dual;

8hive>   select day(』2011-12-24′) from dual;

24日期轉小時函式: hour語法: hour   (string date)

返回值: int

說明: 返回日期中的小時。

舉例:hive>   select hour(』2011-12-08 10:03:01′) from dual;

10日期轉分鐘函式: minute語法: minute   (string date)

返回值: int

說明: 返回日期中的分鐘。

舉例:hive>   select minute(』2011-12-08 10:03:01′) from dual;

3日期轉秒函式: second語法: second   (string date)

返回值: int

說明: 返回日期中的秒。

舉例:hive>   select second(』2011-12-08 10:03:01′) from dual;

1日期轉周函式: weekofyear語法:   weekofyear (string date)

返回值: int

說明: 返回日期在當前的週數。

舉例:hive>   select weekofyear(』2011-12-08 10:03:01′) from dual;

49日期比較函式: datediff語法:   datediff(string enddate, string startdate)

返回值: int

說明: 返回結束日期減去開始日期的天數。

舉例:hive>   select datediff(』2012-12-08′,』2012-05-09′) from dual;

213日期增加函式: date_add語法:   date_add(string startdate, int days)

返回值: string

說明: 返回開始日期startdate增加days天後的日期。

舉例:hive>   select date_add(』2012-12-08′,10) from dual;

2012-12-18

日期減少函式: date_sub語法:   date_sub (string startdate, int days)

返回值: string

說明: 返回開始日期startdate減少days天後的日期。

舉例:hive>   select date_sub(』2012-12-08′,10) from dual;

2012-11-28

Hive 內建集合函式

size map k,v select size map型別引數 返回map中的元素個數size array v select size split 1,2,3,4,5 返回5map keys map k.v select map keys map型別引數 返回key的無序陣列map values ...

hive的內建函式大全

返回值 函式案例 備註 string date add 開始日期,需要累加的天數 select date add 2020 01 08 12 13 15 5 累加5天,返回2020 01 13 string date sub 開始日期,需要減去天數 select date sub 2020 01 0...

Hive的內建函式(十一)

3.hive常用函式 hive中包含很多內建函式,如果內建函式不能滿足實際應用時,也可以自定義函式 user defined function,udf 來實現,並在hive中呼叫。udf函式有3中型別 udf user defined function 函式 作用於單條資料,並且輸出乙個資料行。大多...