빅 데이터 의 Hive: Hive 날짜 처리 함수 의 유 닉 스timestamp
6464 단어 빅 데이터 시리즈 2
1.unix_timestamp
1.1 의미
시간 스탬프 를 되 돌려 줍 니 다. 이 함 수 는 초 단계 까지 만 정확 합 니 다.
1.2: 실례
hive> SELECT unix_timestamp() ; ( :2009-08-06 10:10:40)
->1249524739
hive> SELECT unix_timestamp('2009-08-06','yyyy-MM-dd') ;
->1249488000
hive> SELECT unix_timestamp('2009-0806','yyyy-MMdd') ;
->1249488000
2.from_unixtime
1.1 의미
타임 스탬프 (초 단위 로 정확 한 시간) 를 특정한 형식의 날짜 로 바 꿉 니 다.
1.2: 실례
hive>SELECT from_unixtime( 1249488000, 'yyyy-MM-dd');
->2009-08-05
hive>SELECT from_unixtime( 1249488000, 'yyyy MM dd ');
->2009 08 05
3. 실전
3.1 수요:
현재 이런 시간 이 있 습 니 다. '2021 - 0320' 은 이 시간 을 2021 / 03 / 20 으로 바 꿔 야 합 니 다.
3.2 분석:
먼저 dataformat 함 수 는 시간 을 특정한 형식 으로 바 꿀 수 있 지만 표준 형식의 시간 매개 변수 가 들 어 와 야 합 니 다. 분명히 '2021 - 0320' 은 시간 형식 에 부합 되 지 않 습 니 다 (이것 은 표준 형식 2021 - 03 - 20).이때 우 리 는 유 닉 스 를 사용 할 생각 을 할 수 있다.timestamp,from_unixtime 함수, 먼저 unixtimestamp 함수 가 '2021 - 0320' 을 시간 스탬프 로 바 꾸 고 from유 닉 스 타임 함수 가 시간 스탬프 를 2021 / 03 / 20 형식 으로 바 꾸 는 시간;
3.3 구체 적 인 실현:
hive>SELECT UNIX_TIMESTAMP('2021-0320','yyyy-MMdd');
->1616198400
hive>SELECT from_unixtime(1616198400,'yyyy/MM/dd');
->2021/03/20
hive>SELECT from_unixtime(UNIX_TIMESTAMP('2021-0320','yyyy-MMdd'),'yyyy/MM/dd');
->2021/03/20
dateformat 함수 (형식 에 따라 날짜 정리)
hive (gmall)> select date_format('2021-03-20','yyyy/MM/dd');
2021/03/20