다음 그림은 파티션 범위를 이해하게 하는 그림으로서 전체 윈도우 표현식이다.





* current row : 현재 로우


* X PRECEDING 또는 Y FOLLOWING : 현재 로우(currow row)의 앞/뒤로 N 개의 로우를 의미한다.


* UNBOUNDED PRECEDING : 시작 지점을 알리며, 해당 윈도우는 파티션의 1 번째 로우이다.


* UNBOUNDED FOLLOWING : 마지막 지점을 알린다. 해당 윈도우는 파티션의 마지막 로우이다.


UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING: 테이블의 모든 로우를 의미하며, 1 번째와 마지막 로우를 각각 가르킨다.


* BETWEEN … AND : 윈도우의 시작 지점과 마지막 지점을 명세하기 위해 BETWEEN...AND 절을 사용한다. AND 앞의 표현식은 시작 지점을 정의하고, AND 뒤의 표현식은 마지막 지점을 정의한다. ROWS N PRECEDING 또는 ROWS UNBOUNDED PRECEDING와 같이 BETWEEN...AND 절을 생략한다면, 하이브는 기본적으로 윈도우의 처음 또는 N 번째 앞 부분을 시작 지점으로, 현재 로우를 마지막 지점으로 간주한다.



Posted by 김용환 '김용환'

댓글을 달아 주세요