2012-10-17 5 views
0

하이브 테이블의 파티션을 비교하기 위해 "<"또는 ">"을 사용할 수 있습니다. pt는 날짜를 나타내는 문자열 유형입니다. 다음과 같이하십시오.하이브 테이블에서 파티션을 비교할 수있는 이유는 무엇입니까?

WHERE page_views.date >= '2008-03-01' AND page_views.date <= '2008-03-31' 

하이브는 우리가 원하는대로 할 수 있습니다.

제 질문은 어떻게 하이브가이 작업을 수행 할 수 있으며 왜 날짜 문자열을 올바른 방법으로 비교할 수 있습니까?

감사합니다.

답변

1

하이브에서 파티션은 선택적인 검색을 수행하는 방법이므로 각 파티션에는 하나 이상의 파일이 있습니다. 파티션을 사용하여 쿼리 할 때 하이브는 어떤 파일을 스캔해야하는지 알지 못하기 때문에 더 빠릅니다. 하이브는 필드가 'yyyy-MM-dd'형식으로되어 있기 때문에 문자열의 경우에도 순서가 맞을 수 있습니다. 예를 들어 'MM-dd'와 같은 다른 날짜 형식을 사용하는 경우 사전 식 순서가 날짜 순서와 일치합니다. -yyyy ', 작동하지 않습니다.

+0

괜찮습니다. 고마워! – Tim

관련 문제