[면접][Hadoop] 맵리듀스(MapReduce) 관련 면접 주요 질문

2017. 9. 25. 21:04·개발자/면접


-맵리듀스란?

  • 하둡 클러스터를 이용하여 대용량데이터를 병렬로 처리하는 프레임워크
  • 맵과 리듀스 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://sites.google.com/site/medialoghadoop/02-maeblidyuseu-aepeullikeisyeon-gaebal/02-hadub-maeblidyuseu

https://www.dezyre.com/article/top-100-hadoop-interview-questions-and-answers-2017/159#mapReduce

http://www.openwith.net/?p=506


반응형
저작자표시 비영리 (새창열림)

'개발자 > 면접' 카테고리의 다른 글

[hive] 하이브 관련 주요 면접 질문  (0) 2018.04.18
[스크랩] 기술 면접 관련 질문  (0) 2018.01.16
[면접] 개발자 면접 직무 관련 주요 질문 정리  (1) 2018.01.16
[면접] 면접질문 모음 사이트 - Awsome Interview  (0) 2017.12.26
'개발자/면접' 카테고리의 다른 글
  • [hive] 하이브 관련 주요 면접 질문
  • [스크랩] 기술 면접 관련 질문
  • [면접] 개발자 면접 직무 관련 주요 질문 정리
  • [면접] 면접질문 모음 사이트 - Awsome Interview
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    java
    k8s
    백준
    error
    Linux
    AWS
    HIVE
    Python
    ubuntu
    Hadoop
    emr
    bash
    하둡
    오류
    mysql
    HDFS
    정올
    yarn
    oozie
    파이썬
    하이브
    SPARK
    hbase
    build
    알고리즘
    Tez
    airflow
    nodejs
    S3
    다이나믹
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
[면접][Hadoop] 맵리듀스(MapReduce) 관련 면접 주요 질문
상단으로

티스토리툴바