하 이브 노트 - 타일

HIve - ntile 전송:http://blog.itpub.net/28929558/viewspace-1181432/ 데이터 정렬 후 세 부분 으로 나 뉘 면 업무 자 들 은 그 중의 일부분 에 만 관심 을 가지 고 이 가운데 3 분 의 1 의 데 이 터 를 어떻게 꺼 냅 니까?
이때 가장 좋 은 선택 은 NTILE 함 수 를 사용 하 는 것 입 니 다.
예:
SQL> select

  2     dept_id

  3    ,sale_date

  4    ,goods_type

  5    ,sale_cnt

  6    ,ntile(3) over (order by sale_cnt desc nulls last)  all_cmp

  7    ,ntile(3) over (partition by dept_id order by sale_cnt desc nulls last) all_dept

  8  from criss_sales

  9  ;


DEPT_ID SALE_DATE GOODS_TYPE SALE_CNT ALL_CMP ALL_DEPT
D02 2014/5/2 G03 900 1 1 D01 2014/4/30 G03 800 1 1 D01 2014/3/4 G00 700 1 1 D02 2014/3/6 G00 500 2 1 D02 2014/4/27 G01 300 2 2 D01 2014/4/8 G01 200 2 2 D02 2014/4/8 G02 100 3 3 D01 2014/5/4 G02 80 3 2 D01 2014/6/12 G01 3 3
Ntile 함 수 는 각 기록 이 집 중 된 순위 계산 비율 을 기록 하고 각 기록 이 있 는 집합 비율 위치의 값 을 되 돌려 주 는 것 을 볼 수 있다.
예 를 들 어 우 리 는 회사 의 3 분 의 1 부분의 데이터 에 관심 을 가지 고 ALL 만 선택 하면 된다.CMP = 1 의 데이터 면 됩 니 다. 전 회사 의 중간 3 분 의 1 데이터 에 만 관심 이 있다 면 ALL 을 선택 하 세 요.CMP = 2 의 데이터 면 됩 니 다.

좋은 웹페이지 즐겨찾기