복붙노트

[HADOOP] 십일) HiveQL에 - 당신은 어떻게> 현재 날짜 '이벤트 날짜를받을 수 있나요?

HADOOP

십일) HiveQL에 - 당신은 어떻게> 현재 날짜 '이벤트 날짜를받을 수 있나요?

나는 지난 10 일자에서 레코드를 끌어 필요가 상쾌 매일 얻을 것이다 쿼리를 짜고 있어요.

내가 접근하고있어 표는 유닉스 타임 스탬프와 YYYY-MM-DD의 날짜와 함께 'EVENTDATE'열이있는 'xxdatetime'열이 있습니다.

임팔라에서, 대답은 간단했다 :

where eventdate > to_date(days_sub(now(), 10))

나는 그것을 전체 테이블을 스캔하고 테이블이 대규모 추측하기 때문에 실패 하이브에서 그것의 변형을 사용 :

where datediff(cast(current_timestamp() as string), eventdate)=10

'- 십일 오늘'은 xxdatetime 또는하여 EVENTDATE 열을 필터링 할 하이브 SQL의 경량있는 방법이 있나요?

해결법

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

    1.EVENTDATE는 DATE_SUB이 내 인덱스 열입니다 (문자열, 일 빼기 위해) 및 CURRENT_DATE 현재 하이브 YYYY의 mm의 DD입니다.

    EVENTDATE는 DATE_SUB이 내 인덱스 열입니다 (문자열, 일 빼기 위해) 및 CURRENT_DATE 현재 하이브 YYYY의 mm의 DD입니다.

        eventdate > date_sub(current_date, 5)
    

    이 슈퍼 가벼운 무게입니다 있는지 확실하지 않습니다 그러나 작동한다!

  2. from https://stackoverflow.com/questions/33324375/how-do-you-get-event-date-current-date-10-days-in-hiveql by cc-by-sa and MIT license