[HADOOP] 다른 항목에 대한 하나 개의 조합에 의해 그룹과 다시 한 번 그룹을
HADOOP다른 항목에 대한 하나 개의 조합에 의해 그룹과 다시 한 번 그룹을
여러분,
우리는 다음과 같은 데이터를 가지고 우리는 출력 다음이 필요합니다.
CUSTOMER_NAME PRODUCT_NAME PRICE OCCURANCE ID
customer1, product1, 20, 1
customer1, product2, 30, 2
customer1, product1, 25, 3
customer1, product1, 20, 1
customer1, product2, 20, 2
customer1, product2, 30, 2
먼저 우리는 occurance의 ID로 가격을 평균 할 필요가있다.
customer1,product1,20 (AVG is 20 for occurance 1), 1
customer1,product1,25 (AVG is 25 for occurance 3) , 3
이제 다시 한번 우리는 CUSTOMERNAME, 제품 이름 (Occurance에 의해 그룹에서 무시)하여 평균해야
최종 출력 1 고객, 제품 1, 모든 항목의 평균 가격.
customer1,product1, 20 + 25/2 = 22.5
기본적으로 방법 HIVE 평균의 평균을 할까? 우리는이에 대한 아무 것도 쓸 수 없습니다.
해결법
-
==============================
1.안녕하세요이 다음과 같이 중첩 된 쿼리를 사용하여 달성 될 수있다 :
안녕하세요이 다음과 같이 중첩 된 쿼리를 사용하여 달성 될 수있다 :
첫 번째 단계 : occurrence_id에 의해 가격의 초기 평균을 계산
SELECT customer_name, product_name,occurance_id, avg(price) as avg_of_current_occurance FROM customer_info GROUP BY customer_name,product_name,occurance_id ;
두 번째 단계 : avgs의 평균을 계산은 첫 번째 단계에서 반환
hive (default)> > SELECT customer_name, product_name,avg(avg_of_current_occurance) as final_avg > FROM( > SELECT customer_name, product_name,occurance_id, avg(price) as avg_of_current_occurance > FROM customer_info > GROUP BY customer_name,product_name,occurance_id > ) W > GROUP BY customer_name,product_name; Total MapReduce jobs = 1 Launching Job 1 out of 1 Execution completed successfully customer_name product_name final_avg customer1 product1 22.5 customer1 product2 26.666666666666668
from https://stackoverflow.com/questions/23864735/group-by-one-combination-and-once-again-group-it-for-other-items by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 구글의 Dataproc에서의 스파크로 인해 java.io.FileNotFoundException 실패 : / 하둡 / 실 / NM-로컬 디렉토리 / usercache / 루트 / 앱 캐시 / (0) | 2019.10.10 |
---|---|
[HADOOP] 하둡 프로젝트 받는다는 사용하여 여러 항목 항아리를 패키지화 (0) | 2019.10.10 |
[HADOOP] MapReduce의 재귀 계산을 사용하여 (0) | 2019.10.10 |
[HADOOP] 임베디드 하둡 돼지 : UDF에 대한 자동 addContainingJar를 사용하는 올바른 방법은 무엇입니까? (0) | 2019.10.10 |
[HADOOP] 하이브 날짜 현명한 사진을 얻기 위해 가입 (0) | 2019.10.10 |