-맵리듀스란?
- 하둡 클러스터를 이용하여 대용량데이터를 병렬로 처리하는 프레임워크
- 맵과 리듀스 2단계로 데이터를 분석
-Context Object의 사용법은?
- 하둡의 매퍼가 다른 하둡 시스템과 통신하기 위해서 사용
-리듀서의 코어 메소드는?
- setup()
- 입력데이터 사이즈, 힙 사이즈, distribute cache 설정 등을 진행
- reduce()
- 입력된 데이터를 이용하여 리듀스 작업 진행
- cleanup()
- 리듀스의 마지막에 임시 파일을 삭제하기 위해 한번만 호출
-파티셔닝, 셔플, 소트 페이즈에 대해서 설명하시오.
- 셔플
- 맵 태스크의 처리 결과로 임시 저장된 중간 파일을 리듀서로 넘기는 작업을 셔플
- 소트
- 맵 단계 결과를 리듀서로 넘기기 전에 키를 기준으로 자동으로 정렬을 진행 하는 것
- 파티셔닝
- 맵의 중간값을 리듀서의 입력으로 넘기기 전에 키 별로 분류하는 것
- 해시 함수를 이용하여 키값을 분류
- 파티션 -> 셔플 -> 소트 순으로 처리
- 파티션으로 키값을 분류 하고
- 셔플 단계로 다른 리듀서에서 처리해야할 데이터는 넘기고
- 처리해야할 값을 정렬하고 리듀스 처리
- 컴바이너는?
- 맵사이드 리듀서 or 로컬 리듀서
- 맵의 중간 결과 파일을 미리 리듀싱 처리하여, 리듀서로 전달하는 데이터를 줄여서 속도를 높일 수 있음
- I/O와 네트워크 트래픽 감소를 목적으로 디스크에 쓰기전 KV 쌍에 대한 전처리 수행
- HDFS 블록과 InputSplit는 어덯게 다른가?
- HDFS 블록은 데이터를 물리적으로 나누는 단위이고 InputSplit는 맵리듀스의 입력으로 논리적으로 분할하는 단위이다.
- InputSplit은 매퍼의 개수에 의해 결정되고 사용자가 결정할 수 있다.
- 블록의 크기는 설정에 의해 고정되어 있다.
- InputSplist을 설정하지 않으면 HDFS블록 크기에 의해 결정된다.
- RecordReader는?
- InputSplit으로 부터 key/value 쌍을 읽어 들일때 사용
- Distributed Cache
- 하둡의 맵리듀스 처리중 파일을 공유할 때 사용한다.
- Heartbeat
- 네임노드와 데이터노드 사이, 리소스 매니저와 노드 매니저 사이에 노드가 살아 있는지 확인하는 용도로 사용
https://www.slideshare.net/brotherjinho/map-reduce-48412377
https://www.dezyre.com/article/top-100-hadoop-interview-questions-and-answers-2017/159#mapReduce
반응형
'개발자 > 면접' 카테고리의 다른 글
[hive] 하이브 관련 주요 면접 질문 (0) | 2018.04.18 |
---|---|
[스크랩] 기술 면접 관련 질문 (0) | 2018.01.16 |
[면접] 개발자 면접 직무 관련 주요 질문 정리 (0) | 2018.01.16 |
[면접] 면접질문 모음 사이트 - Awsome Interview (0) | 2017.12.26 |