복붙노트

[HADOOP] Hive에서 날짜 차이를 계산하는 방법

HADOOP

Hive에서 날짜 차이를 계산하는 방법

나는 초보자이다. 가입 날짜를 지정하는 열이있는 직원 테이블이 있고 지난 3 개월 동안 가입 한 직원 목록을 검색하려고합니다. from_unixtime (unix_timestamp ())를 사용하여 현재 날짜를 가져올 수 있음을 이해합니다. DATEiff는 어떻게 계산합니까? MS SQL과 같은 DATEDIFF () 함수가 내장되어 있습니까? 조언을 부탁드립니다!

해결법

  1. ==============================

    1.

    datediff(to_date(String timestamp), to_date(String timestamp))
    
  2. ==============================

    2.시간 차이가 필요한 경우 (예 : 날짜를 일별이 아닌 시간을 사용하여 비교하는 경우) 'YYYY-MM-DD HH : MM : SS'형식으로 두 개의 날짜 또는 타임 스탬프 문자열을 간단하게 변환 할 수 있습니다 unix_timestamp ()를 사용하여 명시 적으로 문자열 날짜 형식을 지정한 다음 서로를 빼서 초 단위로 차이를 구하십시오. (그리고 나서 분을 얻기 위해 60.0으로 나누거나, 시간을 얻기 위해 3600.0으로 나눌 수 있습니다.)

    시간 차이가 필요한 경우 (예 : 날짜를 일별이 아닌 시간을 사용하여 비교하는 경우) 'YYYY-MM-DD HH : MM : SS'형식으로 두 개의 날짜 또는 타임 스탬프 문자열을 간단하게 변환 할 수 있습니다 unix_timestamp ()를 사용하여 명시 적으로 문자열 날짜 형식을 지정한 다음 서로를 빼서 초 단위로 차이를 구하십시오. (그리고 나서 분을 얻기 위해 60.0으로 나누거나, 시간을 얻기 위해 3600.0으로 나눌 수 있습니다.)

    예:

    UNIX_TIMESTAMP('2017-12-05 10:01:30') - UNIX_TIMESTAMP('2017-12-05 10:00:00') AS time_diff -- This will return 90 (seconds). Unix_timestamp converts string dates into BIGINTs. 
    

    다른 날짜 형식의 문자열을 변환하는 방법을 포함하여 unix_timestamp ()로 수행 할 수있는 작업에 대해 자세히 알아보십시오. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions

  3. ==============================

    3.yes datediff가 실행된다. 만나다: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

    yes datediff가 실행된다. 만나다: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

    Google 검색에서 'hive datediff'를 검색 한 결과, 첫 번째 결과였습니다.)

  4. ==============================

    4.나는 이것을 먼저 시도 할 것이다.

    나는 이것을 먼저 시도 할 것이다.

    select * from employee where month(current_date)-3 = month(joining_date)
    
  5. from https://stackoverflow.com/questions/30521669/how-to-calculate-date-difference-in-hive by cc-by-sa and MIT license