hive中的分析函式以及時間戳的使用

2021-08-10 21:05:17 字數 1482 閱讀 6704

樣例資料如下所示: 僅僅展示欄位createtime和memberid

createtime                    memberid

2017/11/13 2017-11-13 12:00:01 8a9e7bf05d7ec61b015d89e060901ef8

2017/11/13 2017-11-13 12:01:01 8a9f156c5d409b7d015d4566b0f06b06

2017/11/13 2017-11-13 12:02:01 8a9f17655e078b0e015e14a79de02059

需求是怎麼將相同的memberid,間隔展示出來??

---建立測試表

create table member_create(memberid string,creatime timestamp);

--插入資料

insert into member_create values('8a9e7bf05d7ec61b015d89e060901ef8','2017-11-13 12:00:01');

insert into member_create values('8a9e7bf05d7ec61b015d89e060901ef8','2017-11-13 12:01:01');

insert into member_create values('8a9e7bf05d7ec61b015d89e060901ef8','2017-11-13 12:02:01');

---測試語句

select memberid, creatime, last_creatime,

case when last_creatime is null then 0 else unix_timestamp(creatime)-unix_timestamp(last_creatime) end diff_time

from (select memberid, creatime, lag(creatime) over(partition by memberid order by creatime) last_creatime

from member_create) t;

--執行結果

8a9e7bf05d7ec61b015d89e060901ef8 2017-11-13 12:00:01 null 0

8a9e7bf05d7ec61b015d89e060901ef8 2017-11-13 12:01:01 2017-11-13 12:00:01 60

8a9e7bf05d7ec61b015d89e060901ef8 2017-11-13 12:02:01 2017-11-13 12:01:01 60

說明: 我僅僅列舉了偏移量函式的用法,個人認為,hive中的分析函式和oracle中的分析函式功能都是類似的

Python time模組以及時間戳的使用

1.將字串的時間轉換為時間戳import time a 2013 10 10 23 40 00 將其轉換為時間陣列 timearray time.strptime a,y m d h m s print timearray 列印結果 time.struct time tm year 2013,tm ...

Go語言時間與字串以及時間戳的相互轉換

1 時間與字串以及時間戳的相互轉換 package main import fmt time func main fmt.printf string型別 2021 11 30 19 21 35 time型別 v n location time型別 時間戳 秒 unix now.unix fmt.pr...

hive中的時間處理函式

返回值 string 說明 轉化unix時間戳 從1970 01 01 00 00 00 utc到指定時間的秒數 到當前時區的時間格式 舉例 hive select from unixtime 1323308943,yyyymmdd from dual 20111208 獲取當前unix時間戳函式 ...