"맵리듀스"의 두 판 사이의 차이
(→절차) |
|||
2번째 줄: | 2번째 줄: | ||
== 개요 == | == 개요 == | ||
− | 맵리듀스(MapReduce)는 2004년 구글에서 대용량 데이터를 분산처리하기 위해 발표한 대용량 분산 처리 프레임워크이다. 이 프레임워크는 테라바이트 또는 페타바이트 이상의 대용량 데이터를 저렴한 x86 서버를 클러스터링해 분산 처리한다. 맵리듀스에서 데이터를 처리하는 기본 단위는 매퍼(Mapper)와 리듀스(Reduce)다. 많은 양의 데이터를 맵리듀스 형태로 작성하면, 클러스터링 환경에서 효과적으로 분산 처리할 수 있다. 맵리듀스의 핵심은 입력과 출력이며, Key와 Value로 구성된다. 맵(Map)은 산재된 데이터를 키와 밸류 형태로 연관성이 있는 데이터로 묶는 작업을 하며, 리듀스는 맵 작업 결과에서 중복 데이터를 제거한 후 원하는 데이터를 추출하는 작업을 수행한다. | + | 맵리듀스(MapReduce)는 2004년 구글에서 대용량 데이터를 분산처리하기 위해 발표한 대용량 분산 처리 프레임워크이다. 이 프레임워크는 테라바이트 또는 페타바이트 이상의 대용량 데이터를 저렴한 x86 서버를 클러스터링해 분산 처리한다. 맵리듀스에서 데이터를 처리하는 기본 단위는 매퍼(Mapper)와 리듀스(Reduce)다. 많은 양의 데이터를 맵리듀스 형태로 작성하면, 클러스터링 환경에서 효과적으로 분산 처리할 수 있다. 맵리듀스의 핵심은 입력과 출력이며, Key와 Value로 구성된다. 맵(Map)은 산재된 데이터를 키와 밸류 형태로 연관성이 있는 데이터로 묶는 작업을 하며, 리듀스는 맵 작업 결과에서 중복 데이터를 제거한 후 원하는 데이터를 추출하는 작업을 수행한다.<ref name='mapreduce_main'>디비가이드넷,〈[http://www.dbguide.net/db.db?cmd=view&boardUid=187336&boardConfigUid=9&categoryUid=216&boardIdx=158&boardStep=1 맵리듀스]〉</ref> |
== 절차 == | == 절차 == | ||
맵리듀스의 논리적 데이터 처리 절차는 다음과 같다. | 맵리듀스의 논리적 데이터 처리 절차는 다음과 같다. | ||
10번째 줄: | 10번째 줄: | ||
:1단계 작업이 완료되면, 분석 대상 값만을 추출한다. 추출된 분석 대상 데이터를 키-밸류 형태로 정렬해 Reduce에게 보낸다. 전송된 데이터는 Reduce 함수의 입력 값으로 사용된다. | :1단계 작업이 완료되면, 분석 대상 값만을 추출한다. 추출된 분석 대상 데이터를 키-밸류 형태로 정렬해 Reduce에게 보낸다. 전송된 데이터는 Reduce 함수의 입력 값으로 사용된다. | ||
* 3단계 | * 3단계 | ||
− | :Reduce 함수로 2단계에서 받은 입력값을 분석해 원하는 값을 구하는 단계다. 다시 말하면, Map은 산재된 입력 데이터를 원하는 형태의 데이터와 묶어주는 작업을 통해 Repository 데이터 형태를 띄게 된다. 이 단계에서는 리듀스를 통해 (중복된 값을 제거해) 원하는 데이터만 추출하는 작업을 진행한다. | + | :Reduce 함수로 2단계에서 받은 입력값을 분석해 원하는 값을 구하는 단계다. 다시 말하면, Map은 산재된 입력 데이터를 원하는 형태의 데이터와 묶어주는 작업을 통해 Repository 데이터 형태를 띄게 된다. 이 단계에서는 리듀스를 통해 (중복된 값을 제거해) 원하는 데이터만 추출하는 작업을 진행한다.<ref name='mapreduce_main'></ref> |
== 특징 == | == 특징 == |
2020년 8월 18일 (화) 17:02 판
맵리듀스(MapReduce)는 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어 프레임워크이다.
개요
맵리듀스(MapReduce)는 2004년 구글에서 대용량 데이터를 분산처리하기 위해 발표한 대용량 분산 처리 프레임워크이다. 이 프레임워크는 테라바이트 또는 페타바이트 이상의 대용량 데이터를 저렴한 x86 서버를 클러스터링해 분산 처리한다. 맵리듀스에서 데이터를 처리하는 기본 단위는 매퍼(Mapper)와 리듀스(Reduce)다. 많은 양의 데이터를 맵리듀스 형태로 작성하면, 클러스터링 환경에서 효과적으로 분산 처리할 수 있다. 맵리듀스의 핵심은 입력과 출력이며, Key와 Value로 구성된다. 맵(Map)은 산재된 데이터를 키와 밸류 형태로 연관성이 있는 데이터로 묶는 작업을 하며, 리듀스는 맵 작업 결과에서 중복 데이터를 제거한 후 원하는 데이터를 추출하는 작업을 수행한다.[1]
절차
맵리듀스의 논리적 데이터 처리 절차는 다음과 같다.
- 1단계
- 혼재된 각종 데이터 세트를 각각 키와 밸류 쌍으로 묶어서 Map 함수의 입력 값으로 보내는 단계다. 전송된 데이터 세트를 Map을 통해 필요한 분석 대상만을 각각 추출한 후 필요 없거나 잘못된 레코드를 제거하는 작업을 한다. 예를 들어 대용량 로그 파일은 SAM 파일 형태로 생성되거나 실시간으로 발생하는 경우가 대부분이다. 파싱 작업을 통해 원하는 형태로 데이터를 가공하는데, 이러한 작업을 효과적으로 할 수 있는 것이 바로 맵리듀스다.
- 2단계
- 1단계 작업이 완료되면, 분석 대상 값만을 추출한다. 추출된 분석 대상 데이터를 키-밸류 형태로 정렬해 Reduce에게 보낸다. 전송된 데이터는 Reduce 함수의 입력 값으로 사용된다.
- 3단계
- Reduce 함수로 2단계에서 받은 입력값을 분석해 원하는 값을 구하는 단계다. 다시 말하면, Map은 산재된 입력 데이터를 원하는 형태의 데이터와 묶어주는 작업을 통해 Repository 데이터 형태를 띄게 된다. 이 단계에서는 리듀스를 통해 (중복된 값을 제거해) 원하는 데이터만 추출하는 작업을 진행한다.[1]
특징
각주
참고자료
같이 보기