[HADOOP] 하이브의 열에있는 카테고리의 비율 계산
HADOOP하이브의 열에있는 카테고리의 비율 계산
하이브에는 다음과 같은 표가 있습니다.
id cname
1 Blue
2 Green
3 Green
4 Blue
5 Blue
cname 열의 각 색상에 대한 백분율을 제공하는 하이브 쿼리를 작성하는 데 도움이 필요합니다. 이런 식으로 뭔가 :
Blue 60%
Green 40%
미리 감사드립니다.
해결법
-
==============================
1.분석 기능 사용 :
분석 기능 사용 :
select cname, concat(pct, ' %') pct from ( select ( count(*) over (partition by cname)/ count(*) over () )*100 as pct, cname from (--Replace this subquery with your table select stack (5, 1, 'Blue', 2, 'Green', 3, 'Green', 4, 'Blue', 5, 'Blue' ) as (id, cname) ) colors )s group by cname, pct;
결과:
OK Blue 60.0 % Green 40.0 %
색상 하위 쿼리를 테이블로 대체하기 만하면됩니다.
from https://stackoverflow.com/questions/52467496/calculate-the-percentage-of-categories-in-a-column-in-hive by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 프로세스 분할 지정 (0) | 2019.07.31 |
---|---|
[HADOOP] 할프 질문 (0) | 2019.07.31 |
[HADOOP] 마스터는 원사로 시작해야합니다. (0) | 2019.07.31 |
[HADOOP] INSERT OVERWRITE의 SELECT 쿼리가 결과를 반환하지 않는 경우 Hive 테이블이 덮어 쓰지 않도록하는 방법이 있습니까? (0) | 2019.07.31 |
[HADOOP] 하이브 : 테이블 및 파티션 작성 기준 (0) | 2019.07.31 |