맵리듀스 Yonsei University 2nd Semester, 2014 Sanghyun Park

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
Mobile 모바일 싱크 기반 무선 센서 네트워크 류재희, 이호성, 김소영.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
뇌를 자극하는 Windows Server 2012 R2
소리가 작으면 이어폰 사용 권장!.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Network Lab. Young-Chul Hwang
Hadoop 2.완전 분산 처리.
PHP입문 Izayoi 김조흔.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
Introduction to Big Data, Summer, 2013
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Cloudera 하둡 빨간색코딩.
NJM Messenger 박상원 박연호.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
HDFS와 대용량 데이터 처리 콘텐츠서비스연구팀 최완.
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
Neo-plus2 서버 및 클라이언트 설정 방법
Linux/UNIX Programming
27장. 모듈화 프로그래밍.
홀인원2.0 설치 메뉴얼.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
24장. 파일 입출력.
Linux/UNIX Programming
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Nessus 4 설치 정보보호응용 조용준.
논리회로 설계 및 실험 5주차.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
Chapter 12. 파일, 프린트 서버관리 네트워크 환경에서 파일서버, 프린트 서버를 구축하여 사용하는 것은 기본이다. 효율성 있는 파일서버의 관리방법에 대해서 설명하고 있으며, 프린트 서버를 운영할 때 참고할 만한 기능에 대해서도 설명한다. 분산파일시스템, 디스크할당량.
20 장 네트워킹과 인터네트워킹 장치 20.1 리피터(Repeaters) 20.2 브리지(Bridges)
자바로 만든 채팅 프로그램 임경진 조주경 지도교수님 : 이광세 교수님.
GM7 PLC 모니터링 프로그램 한국 폴리텍 항공대학 항공정보통신과 송 승 일.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
Linux/UNIX Programming
Linux/UNIX Programming
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
웹(WWW).
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
문서 클러스터링 일본언어문화학과 서동진.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
AT MEGA 128 기초와 응용 I 기본적인 구조.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Flow Diagram IV While.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
JSP Programming with a Workbook
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
Map Designer Solution 소개자료
MIDP 네트워크 프로그래밍 ps lab 김윤경.
System Security Operating System.
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
Network Lab. Young-Chul Hwang
Completion Port기반의 채팅프로그램
하둡 분산 파일 시스템 Yonsei University 2nd Semester, 2014 Sanghyun Park
CHAP 15. 데이터 스토리지.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Linux/UNIX Programming
6 객체.
JAVA 프로그래밍 16장 JNLP.
ARP.
Presentation transcript:

맵리듀스 Yonsei University 2nd Semester, 2014 Sanghyun Park * The slides are from the book “시작하세요! 하둡 프로그래밍: 기초부터 실무까지 하둡의 모든 것” written by 정재화 (위키북스, 2012)

목차 맵리듀스 개념 맵리듀스 시스템 구성

맵리듀스 개념 (1) 맵리듀스 프레임워크를 이용하면 대규모 분산 컴퓨팅 혹은 단일 컴퓨팅 환경에서 개발자가 대량의 데이터를 병렬로 분석할 수 있음 개발자가 맵리듀스 알고리즘에 맞게 분석 프로그램을 개발하면, 데이터의 입출력과 병렬 처리 등 기반 작업을 프레임워크가 알아서 처리해 줌 맵리듀스 프로그래밍 모델은 단순하게 맵(Map)과 리듀스(Reduce)라는 두 개의 메서드로 구성됨. 두 메서드는 다음과 같은 동작을 수행함 맵: list(k1, v1)  list(k2, v2) 리듀스: list(K2, list(v2))  list(k3, v3)

맵리듀스 개념 (2) 맵 메서드는 키(k1)와 값(v1)으로 구성된 데이터를 입력 받아, 이를 가공하고 분류한 후 새로운 키(k2)와 값(v2)으로 구성된 목록을 출력함 이 때 맵 메서드가 반복해서 수행되다 보면 새로운 키(k2)를 가지는 여러 개의 데이터가 만들어짐. 새로운 키(K2)로 그룹핑된 값의 목록(list(v2))을 리듀스 메서드의 입력 데이터로 전달함 리듀스 메서드는 값의 목록(list(v2))에 대한 집계 연산을 실행해 새로운 키(k3)와 값(v3)으로 구성된 목록을 생성함 맵리듀스를 사용하여 “read a book”과 “write a book” 이라는 두 줄의 문장으로 구성된 텍스트 파일을 입력 받아 각 단어의 출현 빈도를 분석(계산)하는 프로그램을 작성하려 함 전체 분석 과정은 다음 그림과 같음

맵리듀스 개념 (3)

맵리듀스 개념 (4) [ 단어 빈도수 분석 과정 ] 맵리듀스는 입력 파일을 키와 값 형식의 데이터로 분리함. 이 예제에서 키는 라인 번호이고 값은 문장임 키와 값 형식의 데이터는 맵 메서드의 입력 데이터로 전달됨 맵 메서드는 라인 번호별로 문장을 체크해 단어 별로 빈도수를 출력함 맵리듀스는 맵 메서드의 출력 데이터를 정렬하고, 병합함 4번의 결과가 리듀스 메서드의 입력 데이터로 전달됨 리듀스 메서드는 새로운 키인 단어별로 각 단어의 빈도수를 합산해서 출력함 리듀스 메서드의 출력 데이터를 하둡 파일 시스템에 저장함

맵리듀스 시스템 구성 (1) 맵리듀스 시스템은 클라이언트, 잡트래커, 태스크트래커로 구성됨. 다음 그림은 맵리듀스 시스템의 구성을 나타낸 것임

맵리듀스 시스템 구성 (2) 클라이언트는 사용자가 실행한 맵리듀스 프로그램과 하둡에서 제공하는 맵리듀스 API를 의미함 클라이언트가 하둡으로 실행을 요청하는 맵리듀스 프로그램을 잡(job)이라는 하나의 작업 단위로 관리함

맵리듀스 시스템 구성 (3) 잡트랙커는 하둡 클러스터에 등록된 전체 잡의 스케줄링을 관리하고 모니터링 함 전체 하둡 클러스터에서 하나의 잡트래커가 실행되며, 보통 네임노드 서버에서 실행됨 사용자가 새로운 잡을 요청하면 잡트래커는 잡을 처리하기 위해 몇 개의 맵과 리듀스를 실행할지 계산함 이렇게 계산된 맵과 리듀스를 어떤 태스크트래커에서 실행할지 결정하고, 해당 태스크트래커에 잡을 할당함

맵리듀스 시스템 구성 (4) 태스크트래커는 데이터노드에서 실행되는 데몬이며, 잡트래커가 요청한 맵과 리듀스 개수만큼 맵 태스크와 리듀스 태스크를 생성함 맵 태스크와 리듀스 태스크가 생성되면 새로운 JVM을 구동해 맵 태스크와 리듀스 태스크를 실행함 잡트래커와 태스크트래커는 하드비트라는 메서드로 네트워크 통신을 하면서 태스크트래커의 상태와 작업 실행 정보를 교환함 만약 태스크트래커에 장애가 발생하면 잡트래커는 다른 대기 중인 태스크트래커를 찾아 태스크의 재실행을 요청함