[HADOOP] 어떻게 그룹에 여러 컬럼에 의해 다음 하이브에서 트랜스
HADOOP어떻게 그룹에 여러 컬럼에 의해 다음 하이브에서 트랜스
내가 여러 열에 의해 그룹화 할 일부 데이터를 가지고에 집계 함수를 수행 한 다음 하이브를 사용하여 다른 열로 바꾸어.
예를 들어, 입력이 주어
hr type value
01 a 10
01 b 20
01 c 50
01 a 30
02 c 10
02 b 90
02 a 80
나는이 출력을 생성하려면 :
hr a_avg b_avg c_avg
01 20 20 50
02 80 90 10
어디에 입력의 각 구별 유형에 대해 하나의 고유 한 열이 있습니다. a_avg 평균 각 시간에 대한 값에 대응한다.
어떻게 하이브에서이 작업을 수행 할 수 있습니다? 나는 https://github.com/klout/brickhouse/wiki/Collect-UDFs의 사용을해야 할 수도 있습니다 추측하고있다
지금까지 내가 생각할 수있는 최선의 여러 그룹에 의해 절을 사용하는 것입니다,하지만 여러 컬럼에 데이터를 전치하지 않습니다.
어떤 아이디어?
해결법
-
==============================
1.당신은 반드시 Brickhouse를 사용할 필요가 없습니다,하지만 확실히 더 쉽게 만들 것입니다. 여기에 내가 뭔가를 생각하고 무엇을
당신은 반드시 Brickhouse를 사용할 필요가 없습니다,하지만 확실히 더 쉽게 만들 것입니다. 여기에 내가 뭔가를 생각하고 무엇을
select hr , type_map['a'] a_avg , type_map['b'] b_avg , type_map['c'] c_avg from ( select hr , collect(type, avg_value) type_map -- Brickhouse collect; creates a map from ( select hr , type , avg( value ) avg_value from db.table group by hr, type ) x group by hr ) y
from https://stackoverflow.com/questions/30109551/how-to-group-by-multiple-columns-and-then-transpose-in-hive by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 나는 HDFS의 네임 노드를 포맷하려고하지만 말합니다 오전 : 권한이 거부 (0) | 2019.09.27 |
---|---|
[HADOOP] String 형의 ID가 입력 파일에 대한 Giraph 최선의 정점 입력 형식, (0) | 2019.09.27 |
[HADOOP] 어떻게 하둡에서 사용자 정의 출력 형식을 만들 수 있습니다 (0) | 2019.09.27 |
[HADOOP] 어떻게 사용자 정의 Oozie EL 기능을 사용 HDFS 파일을 읽어 (0) | 2019.09.27 |
[HADOOP] 클라우 데라 매니저에 dfs_hosts_allow (0) | 2019.09.27 |