[HADOOP] 감속기의 기본 개수
HADOOP감속기의 기본 개수
하둡의 경우, 감속기의 수를 설정하지 않으면 얼마나 많은 감속기가 만들어 질 것입니까?
매퍼와 마찬가지로 (총 데이터 크기) / (입력 분할 크기)에 따라 달라집니다. 예 : 데이터 크기가 1TB이고 입력 분할 크기가 100MB 인 경우 그러면 매퍼 수는 (1000 * 1000) / 100 = 10000 (10000)이됩니다.
감속기의 수는 어떤 요인에 달려 있습니까? 일자리에 얼마나 많은 감속기가 만들어 졌습니까?
해결법
-
==============================
1.얼마나 많은 것이 줄어든가? (공식 문서에서)
얼마나 많은 것이 줄어든가? (공식 문서에서)
적절한 감소 수는 0.95 또는 1.75 배로 증가한 것으로 보입니다. (노드 수) * (노드 당 최대 컨테이너 수).
감소 수를 늘리면 프레임 워크 오버 헤드가 증가하지만로드 균형 조정이 증가하고 실패 비용이 낮아집니다.
위의 스케일링 계수는 투기 - 작업 및 실패한 작업을 위해 프레임 워크에서 몇 개의 슬롯을 줄이기 위해 정수보다 약간 작습니다.
이 기사에서는 매퍼 수에 대해서도 다룹니다.
얼마나 많은지도가 있습니까?
지도에 대한 올바른 병렬 처리 수준은 노드 당 약 10-100 개의지도 인 것으로 보이지만 매우 가벼운지도 작업을 위해 최대 300 개의지도가 설정되었습니다. 작업 설정에는 시간이 걸리기 때문에 맵을 실행하는 데 최소 1 분이 걸리는 것이 가장 좋습니다.
따라서 입력 데이터가 10TB이고 블록 크기가 128MB 인 경우 Configuration.set (MRJobConfig.NUM_MAPS, int) (프레임 워크에 대한 힌트 만 제공)을 사용하여 설정하지 않는 한 82,000 개의 맵이 생성됩니다 심지어 더 높습니다.
감속기의 수에 대해 기본값 1을 변경하려면 다음 속성 (hadoop 2.x 버전에서)을 명령 줄 매개 변수로 설정할 수 있습니다
mapreduce.job.reduces
또는
프로그래밍 방식으로 설정할 수 있습니다.
job.setNumReduceTasks(integer_numer);
관련 SE 문제에 대해 살펴보십시오. Hadoop의 감속기 수는 무엇입니까?
-
==============================
2.기본적으로 감속기의 수는 1로 설정됩니다.
기본적으로 감속기의 수는 1로 설정됩니다.
매개 변수를 추가하여 변경할 수 있습니다.
명령 행이나 드라이버 코드 또는 전달한 conf 파일의 mapred.reduce.tasks.
예 : 명령 줄 인수 : bin / hadoop jar ... -Dmapred.reduce.tasks =
또는 드라이버 코드에서 다음과 같습니다 : conf.setNumReduceTasks (int num); 추천 읽기 : https://wiki.apache.org/hadoop/HowManyMapsAndReduces
from https://stackoverflow.com/questions/34703091/default-number-of-reducers by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hadoop에서 jar 파일을 실행하는 방법? (0) | 2019.06.01 |
---|---|
[HADOOP] 스파크가 더 이상 사용하지 않을 것임을 깨달을 때 RDD 자체를 unpersist할까요? (0) | 2019.06.01 |
[HADOOP] Hadoop 입력에 가장 적합한 분할 가능 압축 = bz2? (0) | 2019.06.01 |
[HADOOP] YARN에서 스파크의 로그는 어디에 있습니까? (0) | 2019.06.01 |
[HADOOP] Hadoop Map에서 목록 출력 Custom writable을 사용하여 작업 줄이기 (0) | 2019.06.01 |