하둡 맵리듀스(MapReduce) 알아보자

 

 

지식백과에 의하면 맵리듀스(MapReduce)는 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨터에서 처리하기 위한 목적으로

 

제작하였다. (2004년 발표한 소프트웨어 프레임워크)

 

함수형 프로그래밍에서 일반적으로 사용되는 Map과 Reduce라는 함수 기반으로 구성이 된다.

 

Java와 C++그리고 기타언어에서 적용이 가능하도록 작성이되있고 대표적으로는 하둡에서 오픈소스 소프트웨어로 적용되었다.

 

 

 

하둡에서 가장 많이 사용되는 맵리듀스는 데이터마이닝과 웹 인덱싱과 같은 대규모 또는 데이터 집약적인 애플리케이션에 매우

 

중요한 병렬처리 모델이다. 하둡은 맵리듀스의 오픈소스 구현체이며 빠른 응답시간이 요구되는 클러스터 컴퓨팅 작업에 많이

 

활용 되고 있다. 대부분의 맵리듀스 프로그램은 데이터 분석을 위해 작성이 되며 작어 완료까지 오랜 시간이 걸린다.

 

많은 업체에서 요구된 시간안에 완료가 가능한 대규모 데이터 심화 분석 작업으로 활용이 되고 있다.

 

 

* 성공적인 활용을 위해 맵리듀스의 I/O 효율성은 아직 많은 개선이 필요하다. 경험에 의하면 미숙하게 구성된 하둡 글러스트는

 

맵리듀스 작업 성능을 크게 저하시킨다.

 

 

 

 

 

 

맵리듀스와 같은 데이터 집약적인 분산 처리 모델은 웹-인덱스, 데이터마이닝, 과학적 시뮬레이션과 같은 대규모 병렬처리

 

애플리케이션을 위한 중요한 프로그램 모델로 떠오르고 있다.

 

하둡은 구글의 맵리듀스 프로그램 모델을 구현한 매우 유명한 오픈소스 자바구현체이다.

 

이미 다양한 기업에서 대규모 데이터 처리에 사용하고 있으며 빠른 응답시간이 요구되는 환경에서도 사용된다.

 

 

맵리듀스의 개념

 

 

맵리듀스는 맵 단계와 리듀스의 단계로 처리 과정을 나누어 작업한다.

 

맵(Map)은 흩어져 있는 데이터를 관련있는 데이터끼리 묶는 작업을 통해 임시 데이터 집합으로 변형이 되며

 

리듀스(Reduce)는 앱 작업에서 생성된 임시 데이터 집합에서 중복 데이터를 제거하고 원하는 데이터를 추출하는 작업을 진행한다.

 

 

 

 

 

맵리듀스 처리 순서

 

 

 

 

맵리듀스가 분산,병렬 처리하기 좋은 이유는 입력데이터에 대한 맵 함수는 동시에 독립적으로 병렬 처리할수 있는 구조이기 때문이다.

 

 

1. 분할(Splitting)

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

~ 입력한 파일 값을 라인 단위로 분할한다.

 

 

 

2. 매핑(Mapping)

 

~ 분할된 라인 단위 문장을 맵(Map)함수로 전달하면 맵함수는 공백을 기준으로 문자를 분리, 단어의 개수를 확인한다.

 

맵함수를 거치면서 임시 데이터 결과가 메모리에 저장된다.

 

 

3. 셔플링(Shuffling)

 

~ 메모리에 저장되어 있는 맵 함수의 출력 데이터를 파티셔닝과 정렬하여 로컬 디스크에 저장, 네트워크를 통해 리듀서의

 

입력 데이터로 전달한다.

 

 

4. 리듀싱(Reducing)

 

~ 단어 목록들을 반복적으로 수행하고 합을 계산하여 표시한다.

 

 

 

 

 

맵리듀스의 장점과 단점

 

 

맵리듀스 장점

 

~ 단순하고 사용이 편리

 

~ 특정 데이터모델이나 스키마, 질의에 의존적이지 않은 유연성

 

~ 저장 구조의 독립성

 

~ 데이터복제에 가반한 내구성과 재수행을 통한 내고장성 확보

 

~ 높은 확장성

 

 

 

맵리듀스 단점

 

~ 고정된 단일 데이터 흐름

 

~ 기존 DBMS보다 불편한 스키마, 질의

 

~ 단순한 스케줄링

 

~ DBMS와 비교하여 상대적으로 낮은 성능

 

~ 개발도구의 불편함과 기술지원의 어려움

 

~ 확장성의 문제와 처리속도가 느리다는 점

 

 [출처] https://jayzzz.tistory.com/44

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86108
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78621
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95335
22 Docker에서 SQL Server 컨테이너 이미지 구성 file 졸리운_곰 2020.01.23 1552
21 MSSQL 설치형 한글 환경으로 변경 file 졸리운_곰 2020.01.23 2885
20 PRIMARY KEY 와 FOREIGN KEY 를 전부 뽑아주는 쿼리 졸리운_곰 2018.12.16 1773
19 [MSSQL] CASE 문 . 조건에 따라 값 정하기 ! CASE WHEN THEN 졸리운_곰 2018.07.24 1565
18 Track Data Changes (SQL Server) file 졸리운_곰 2018.07.02 1302
17 Docker가 있는 SQL Server 2017 컨테이너 이미지를 실행 하는 빠른 시작 file 졸리운_곰 2018.06.26 1054
16 [MSSQL] Management Studio 이용해 데이터베이스 생성하기 file 졸리운_곰 2018.06.17 1281
15 [MSSQL - GROUP BY HAVING 을 이용한 중복 데이타 체크] file 졸리운_곰 2018.06.15 1275
14 [SQL] select 한 결과로 update 처리, SQL한문장, How to UPDATE from SELECT in SQL Server 졸리운_곰 2018.01.22 1470
13 UNION으로 결과 집합 조합 졸리운_곰 2017.08.27 1340
12 uniqueidentifier(Transact-SQL) file 가을의곰 2017.06.10 1754
11 하위 쿼리를 사용하여 다른 쿼리 또는 식에 쿼리 중첩 [MS-ACCESS : ms offce suit] 가을의곰 2017.06.10 1638
10 [MS-SQL] 테이블명, 컬럼명 검색 졸리운_곰 2017.04.17 1930
9 DB의 모든 테이블에서 데이터 검색 졸리운_곰 2017.04.17 1716
8 Microsoft SQL Server DBA 가이드-DBA라면 이정도는 알아야한다!!! file 졸리운_곰 2017.01.15 1302
7 SQL Server DBA 가이드 file 졸리운_곰 2017.01.15 1685
6 IDENTITY_INSERT가 OFF로 설정되면 ‘테이블명’ 테이블의 ID 열에 명시적 값을 삽입할 수 없습니다 file 졸리운_곰 2017.01.15 1502
5 MS SQL 서버에서 자동증가, autoincrement 처리 file 졸리운_곰 2017.01.15 1771
4 MS SQL 서버의 날짜, 시간 => 문자열 변환 포멧 설명 졸리운_곰 2017.01.15 1214
3 MS SQL 서버 코딩 표준 가이드 file 졸리운_곰 2017.01.14 1653
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED