Hive那些事兒之六 Hive常用日期函式整理

2021-10-02 04:52:39 字數 2410 閱讀 8164

【hive 日期函式】hive常用日期函式整理

1、to_date:日期時間轉日期函式

select to_date(『2015-04-02 13:34:12』);

輸出:2015-04-02

2、from_unixtime:轉化unix時間戳到當前時區的時間格式

select from_unixtime(1323308943,』yyyymmdd』);

輸出:20111208

3、unix_timestamp:獲取當前unix時間戳

select unix_timestamp();

輸出:1430816254

select unix_timestamp(『2015-04-30 13:51:20』);

輸出:1430373080

4、year:返回日期中的年

select year(『2015-04-02 11:32:12』);

輸出:2015

5、month:返回日期中的月份

select month(『2015-12-02 11:32:12』);

輸出:12

6、day:返回日期中的天

select day(『2015-04-13 11:32:12』);

輸出:13

7、hour:返回日期中的小時

select hour(『2015-04-13 11:32:12』);

輸出:11

8、minute:返回日期中的分鐘

select minute(『2015-04-13 11:32:12』);

輸出:32

9、second:返回日期中的秒

select second(『2015-04-13 11:32:56』);

輸出:56

10、weekofyear:返回日期在當前週數

select weekofyear(『2015-05-05 12:11:1』);

輸出:19

11、datediff:返回開始日期減去結束日期的天數

select datediff(『2015-04-09』,『2015-04-01』);

輸出:8

12、date_sub:返回日期前n天的日期

select date_sub(『2015-04-09』,4);

輸出:2015-04-05

13、date_add:返回日期後n天的日期

select date_add(『2015-04-09』,4);

輸出:2015-04-13

14、from_unixtime+ unix_timestamp hive中yyyymmdd和yyyy-mm-dd日期之間的切換

思想:先轉換成時間戳,再由時間戳轉換為對應格式。

–20171205轉成2017-12-05

select from_unixtime(unix_timestamp(『20171205』,『yyyymmdd』),『yyyy-mm-dd』) from dual;

–2017-12-05轉成20171205

select from_unixtime(unix_timestamp(『2017-12-05』,『yyyy-mm-dd』),『yyyymmdd』) from dual;

15:hive中取最近30天資料

datediff(current_timestamp ,gmt_create)<=30

116、hive中 兩個日期相差多少小時

select (unix_timestamp(『2018-05-25 12:03:55』) - unix_timestamp(『2018-05-25 11:03:55』))/3600

輸出:1

17、hive中 兩個日期相差多少分鐘

select (unix_timestamp(『2018-05-25 12:03:55』) - unix_timestamp(『2018-05-25 11:03:55』))/60

輸出:60

18、hive 計算某乙個日期屬於星期幾,如2018-05-20 是星期日

select if(pmod(datediff(『2018-05-20』, 『1920-01-01』) - 3, 7)=『0』, 7, pmod(datediff(『2018-05-20』, 『1920-01-01』) - 3, 7))

輸出:7

17、hive返回上個月第一天和最後一天

–上個月第一天

select trunc(add_months(current_timestamp,-1),『mm』)

select concat(substr(add_months(from_unixtime(unix_timestamp(),『yyyy-mm-dd』),-1),1,7),』-01』);

–上個月最後一天

select date_sub(trunc(current_timestamp,『mm』),1);

Hive知識之Hive基礎

5 hive的基本操作 5.2 資料表相關操作 6 資料的匯入和匯出 1 hive簡介 2 hive與傳統關係型資料庫的比較 專案hive rdbms 查詢語言 hqlsql 資料儲存 hdfs raw device or local fs 執行mapreduce excuter 執行延遲高低 處理...

一起學Hive 之六 Hive的動態分割槽

前面文章介紹了hive中是支援分割槽的。關係型資料庫 如oracle 中,對分割槽表insert資料時候,資料庫自動會根據分割槽欄位的值,將資料插入到相應的分割槽中,hive中也提供了類似的機制,即動態分割槽 dynamic partition 只不過,使用hive的動態分割槽,需要進行相應的配置。...

一起學Hive 之六 Hive的動態分割槽

hive hive動態分割槽 前面文章介紹了hive中是支援分割槽的。關係型資料庫 如oracle 中,對分割槽表insert資料時候,資料庫自動會根據分割槽欄位的值,將資料插入到相應的分割槽中,hive中也提供了類似的機制,即動態分割槽 dynamic partition 只不過,使用hive的動...