[HADOOP] Hadoop MapReduce 작업에서 다중 이퀄라이저 체인화
HADOOPHadoop MapReduce 작업에서 다중 이퀄라이저 체인화
이제 다음과 같은 4 단계 MapReduce 작업이 있습니다.
Input-> Map1 -> Reduce1 -> Reducer2 -> Reduce3 -> Reduce4 -> Output
Hadoop에는 여러 매퍼를 하나의 큰 매퍼에 연결하고 맵 단계 사이에 디스크 I / O 비용을 절약 할 수있는 ChainMapper 클래스가 있습니다. ChainReducer 클래스도 있지만 실제 "Chain-Reducer"는 아닙니다. 다음과 같은 작업 만 지원할 수 있습니다.
[Map+/ Reduce Map*]
내 작업에 대해 네 개의 MR 작업을 설정할 수 있으며 마지막 세 작업에 기본 매퍼를 사용할 수 있음을 알고 있습니다. 그러나 감속기는 디스크에 결과를 기록해야 다음 매퍼가 액세스 할 수 있으므로 많은 디스크 I / O가 필요합니다. I / O 비용을 낮추기 위해 내 감속기를 연결하는 다른 Hadoop 내장 기능이 있습니까?
Hadoop 1.0.4를 사용하고 있습니다.
해결법
-
==============================
1.나는 당신이 감속기의 O / P를 다른 감속기에 직접 줄 수 있다고 생각하지 않습니다. 나는 이것을 위해 갔을 것이다 :
나는 당신이 감속기의 O / P를 다른 감속기에 직접 줄 수 있다고 생각하지 않습니다. 나는 이것을 위해 갔을 것이다 :
Input-> Map1 -> Reduce1 -> Identity mapper -> Reducer2 -> Identity mapper -> Reduce3 -> Identity mapper -> Reduce4 -> Output
Hadoop 2.X 시리즈에서는 내부적으로 ChainMapper로 감속기 전에 매퍼를 연결하고 ChainReducer로 감속기를 연결 한 후 매퍼를 연결할 수 있습니다.
from https://stackoverflow.com/questions/16870675/chaining-multi-reducers-in-a-hadoop-mapreduce-job by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HDFS에서 테이블을 미리 그룹화하고 제로 셔플 링으로 스파크에서 읽기 (0) | 2019.07.19 |
---|---|
[HADOOP] 별거없이 sqoop을 실행할 수 있습니까? (0) | 2019.07.19 |
[HADOOP] R이 Rscript로 실행 중인지 어떻게 테스트합니까? (0) | 2019.07.19 |
[HADOOP] 중첩 된 하위 디렉토리의 입력이있는 하이브 만들기 테이블 (0) | 2019.07.19 |
[HADOOP] hadoop과 hbase의 최신 호환 버전 (0) | 2019.07.19 |