🖥️ IT, 컴퓨터/👩🏻‍💻 IT

[IT] MapReduce (맵리듀스)

김 홍시 2024. 1. 16.
반응형

MapReduce는 대규모 데이터 세트를 처리하고 생성하는 데 사용되는 프로그래밍 모델이자, 이를 구현한 소프트웨어 프레임워크입니다. Google에 의해 처음 소개되었으며, 이후 Apache Hadoop과 같은 시스템에서 널리 채택되었습니다. MapReduce는 특히 빅 데이터 분석과 관련된 작업에서 유용하며, 그 기본 원리와 구성 요소는 다음과 같습니다.

기본 원리

MapReduce 모델은 두 가지 주요 단계, 즉 'Map' 단계와 'Reduce' 단계로 구성됩니다. 이 모델의 핵심은 데이터 처리 작업을 여러 컴퓨팅 노드에 분산시켜, 병렬로 처리하는 데 있습니다.

  1. Map 단계: 입력 데이터 세트를 키-값 쌍으로 변환하고, 이를 처리하여 중간 키-값 쌍을 생성합니다.
  2. Reduce 단계: 중간 키-값 쌍을 특정 키에 따라 그룹화하고, 각 그룹에 대해 사용자가 정의한 리듀스 작업을 수행하여 최종 결과를 생성합니다.

구성 요소

  1. 입력과 출력: 입력 데이터는 일반적으로 파일 시스템(예: HDFS)에 저장되며, 출력 데이터도 파일 시스템에 저장됩니다.
  2. 매퍼(Mapper): 매퍼는 입력 데이터를 처리하고 중간 키-값 쌍을 생성합니다.
  3. 리듀서(Reducer): 리듀서는 중간 데이터를 받아 최종 결과를 산출합니다.
  4. 쉐플링(Shuffling): 매퍼의 출력을 리듀서에게 전달하기 전에, 동일한 키를 가진 데이터를 하나의 리듀서로 모으는 과정입니다.

동작 과정

  1. 입력 분할: 입력 데이터는 여러 블록으로 나뉘며, 각 블록은 별도의 매퍼에 의해 처리됩니다.
  2. 매핑: 매핑 단계에서 각 매퍼는 입력 데이터를 읽고, 키-값 쌍을 생성합니다.
  3. 쉐플링과 정렬: 생성된 키-값 쌍은 키에 따라 정렬되고, 같은 키를 가진 쌍은 같은 리듀서로 전달됩니다.
  4. 리듀싱: 각 리듀서는 동일한 키를 가진 쌍을 받아 사용자 정의 작업을 수행하고, 결과를 출력합니다.

장점과 한계

장점:

  • 확장성: 대규모 데이터 세트를 처리할 수 있으며, 클러스터의 노드 수를 늘려 처리 능력을 쉽게 확장할 수 있습니다.
  • 내결함성: 노드 실패 시, 작업을 다른 노드로 재할당하여 처리합니다.

한계:

  • 지연 시간: 작은 데이터 세트에 대한 처리에는 비효율적일 수 있습니다.
  • 복잡한 데이터 처리에 제한적: 모든 종류의 데이터 처리에 적합하지 않을 수 있으며, 일부 작업은 MapReduce 모델에 맞게 재구성해야 합니다.

MapReduce는 빅 데이터 처리를 위한 기본적인 모델로, 복잡한 데이터 처리 작업을 위한 다른 프레임워크와 함께 사용되기

도 합니다.

반응형

댓글