특정 조건 하에 랭킹 x 순위 까지 구해야 할 경우가 있다.
예를 들면 일별 접근 횟수 랭킹 10 위까지의 ip를 구하는 경우? 아래와 같이 할 수 있을 것이다.
(물론 자신의 사이트(서비스)에 접근할 때마다 로깅을 하여 데이터는 있다는 가정)
select t2.day, t2.ip, t2.cnt from ( select t1.day, t1.ip, t1.cnt, rank() over (PARTITION BY dd order by cnt desc) as rank from ( select day, ip, count(ip) as cnt from log where month = '09' group by dd, userip ) t1 ) t2 where rank < 10;
'프로그래밍 > Hadoop ETC' 카테고리의 다른 글
oozie command 정리 (0) | 2017.03.22 |
---|---|
[Hadoop] 작은 파일들 합치기 (0) | 2016.05.10 |
[Hadoop] hdfs에 데이터 올라가는 과정 (0) | 2015.08.21 |
[Hadoop] OOZIE 사용 (with hive, sqoop) (0) | 2015.06.17 |
[Hadoop] hive 파티션 설정, external table, datatype (0) | 2015.06.13 |