Introduction to Big Data, Summer, 2013

Slides:



Advertisements
Similar presentations
1. 브라우저에서 로 관리창으로 접속해서, 서버 인증서를 설치 할 서버를 선택하고 Manage 버튼을 클릭합니다. 2. Security 탭을 선택한 후, 인증서 Trust.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
WCL 이민학 Big Data & Hadoop.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
컴퓨터와 인터넷.
chapter 3. Filtering Patterns
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
Data Interface, Data mart Technology
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
뇌를 자극하는 Windows Server 2012 R2
소리가 작으면 이어폰 사용 권장!.
뇌를 자극하는 Windows Server 2012 R2
빅데이터 분산 처리 시스템 충북대학교 정보통신공학부 복경수
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
How Hadoop Works 박 영 택 컴퓨터학부.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Distributed Computing (Apache Hadoop & Hive Review)
Hadoop 2.완전 분산 처리.
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
Korea University of Technology and Education Hongyeon Kim
Unix Project2 <test character device 생성>
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
강 명 수 LINUX 설치 강 명 수
Root Filesystem Porting
MapReduce Practice :WordCount
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Root Filesystem Porting
Cloudera 하둡 빨간색코딩.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
HDFS와 대용량 데이터 처리 콘텐츠서비스연구팀 최완.
하둡 기반 빅데이터 처리 방법.
Data Organization Patterns
PySpark Review 박영택.
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
자바 5.0 프로그래밍.
어서와 C언어는 처음이지 제14장.
인터넷응용프로그래밍 JavaScript(Intro).
Linux/UNIX Programming
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
27장. 모듈화 프로그래밍.
Linux/UNIX Programming
DataScience Lab. 박사과정 김희찬 (목)
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
Apache Spark Tutorial 빅데이터 분산 컴퓨팅 박영택.
자바 5.0 프로그래밍.
Packet sniffing 응용 레벨이 아닌 네트워크 디바이스 레벨에서의 데이타을 얻는 것 네트워크 상의 트래픽을 분석
맵리듀스 Yonsei University 2nd Semester, 2014 Sanghyun Park
Apache Spark Tutorial 빅데이터 분산 컴퓨팅 박영택.
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
Linux/UNIX Programming
Linux/UNIX Programming
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
데이터 동적 할당 Collection class.
네트워크 프로그래밍 (모바일 주문 프로그램 )
문서 클러스터링 일본언어문화학과 서동진.
Introduction to JSP & Servlet
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Numerical Analysis Programming using NRs
RPTree 코드분석 (월) Dblab 김태훈.
06. 디바이스의 등록과 해제 김진홍
CHAP 15. 데이터 스토리지.
Linux/UNIX Programming
6 객체.
Linux/UNIX Programming
Presentation transcript:

Introduction to Big Data, Summer, 2013 Map/Reduce Mincheol Shin

Index 맵리듀스 기본 하둡 맵리듀스 맵리듀스 예제: Word Count 하둡 맵리듀스 구성 요소 맵퍼 (Mapper) 리듀서 (Reducer)

1.1 맵리듀스 개념 맵리듀스 (Google에서 제안) 맵 리듀스 큰 데이터를 나누어서 여러 개의 Machine에서 처리하는 프로그래밍 모델 맵 입력 데이터를 key-value pair로 변경 “key1 – value1”, “key2 – value2”, “key1 – value3” “key3 – value4” 동일한 key를 갖는 key-value pair를 모아 key/value-list로 저장 key1 – value1. value3. … key2 – value2. value5, … key3 – valuen+1. valuen+2, … , valuen+m 리듀스 사용자가 작성한 Reduce 함수에 따라 KV List를 가공

1.1 맵리듀스 개념 Worker Worker Mapper Reducer Mapper Worker Reducer Mapper Key1, value 1, … , value n1 Key2, value 1, … , value n2 Reducer Mapper Key1, value 1, … , value n3 Key2, value 1, … , value n4 Worker Reducer Mapper Key1, value 1, … , value n5 Key2, value 1, … , value n6 Mapper Key1, value 1, … , value n7 Key2, value 1, … , value n8 Hadoop Distributed File System File G File O

1.2 Word Count Example Word Count Map Function Reduce Function 문서에서 각 단어가 몇 번 나타나는지를 계산하는 프로그램 Map Function Input K: 문서의 이름, V: 문서의 내용 Output K: word (중복제거 X), V: list of 1 Process 문서를 단어 단위로 읽으며 읽은 단어를 key로, value는 1로 설정 Reduce Function K: word, V: list of “1” K: word, V: word가 나타난 개수 각 key 의 value를 모두 더함

1.2 Word Count Example: Map Key/Value List Intermediate key/set of values Document Map, written by the user, takes an input pair. The reduce, written by the user, takes an intermediate key and a set of values for that key. Map 1 user 1 Map 1 intermediate 1 written 1 takes 1 written 1 1 key 1 1 by 1 an 1 by 1 1 and 1 the 1 the 1 1 1 intermediate a 1 user 1 1 user 1 1 set 1 takes 1 key 1 takes 1 1 of 1 an 1 and 1 an 1 1 values 1 input 1 a 1 input 1 for 1 pair 1 set 1 pair 1 1 the 1 of 1 that reduce 1 reduce 1 values 1 Machine 1 written 1 for 1 Machine 2 by 1 that 1 the 1 key 1

1.2 Word Count Example: Reduce Intermediate key/set of values Reducer Map 1 a 1 Map 1 intermediate 1 written 2 set 1 written 1 1 key 1 1 by 2 of 1 by 1 1 and 1 the 3 values 1 the 1 1 1 a 1 user 2 for 1 user 1 1 set 1 takes 2 that 1 takes 1 1 of 1 an 2 an 1 1 values 1 input 1 input 1 for 1 pair 1 pair 1 that 1 reduce 1 reduce 1 intermediate 1 key 2 and 1

2. 하둡 맵리듀스 맵리듀스 기본 하둡 맵리듀스 맵리듀스 예제: Word Count 하둡 맵리듀스 구성 요소 맵퍼 (Mapper) 리듀서 (Reducer)

2.1 하둡 맵리듀스의 구성요소 태스크 (Task) 맵퍼 (Mapper) 리듀서 (Reducer) 맵퍼나 리듀서가 수행하는 단위 작업 (맵 태스크, 리듀스 태스크) 맵 혹은 리듀스를 수행하기 위한 정보를 가지고 있음 맵퍼 (Mapper) 3 단계: 맵 (Map), 컴바인 (Combine), 파티션 (Partition) 리듀서 (Reducer) 셔플/정렬 (Shuffle/Sort), 리듀스(Reduce)

2.1 하둡 맵리듀스의 구성요소 잡 트래커 (Job Tracker) 태스크 트래커(Task Tracker) 마스터(Master)라고도 불림 클러스터에 1개 역할 각 슬레이브(slave)에 태스크(Task)를 할당 슬레이브 모니터링 실패한 태스크의 재실행 태스크 트래커(Task Tracker) 각 노드에 1개씩 존재 노드의 태스크를 실행

2.1 하둡 맵리듀스의 구성요소: Data Flow Reduce Task Reducer Reduce Task Mapper Output File {k1, v1, … vn} Shuffle Partition Sort Combine Mapper Reduce Map Partition Reduce Task Reduce Task Reducer Combine Output File {k1, v1, … vn} Shuffle Map Sort Map Task Map Task FileSplit FileSplit Reduce Hadoop Distributed File System File G File O

2.2 매핑 프로세스 입력 파일 맵(Map) 컴바인(Combine) 파티션(Partition) HDFS에 있는 입력 파일을 분할하여 FileSplit을 생성 FileSplit 하나 당 맵 태스크(Map Task) 하나씩을 생성 맵(Map) 데이터를 읽어와서 KV 페어(Key-value pair)를 생성 컴바인(Combine) 목적: I/O 와 네트워크 트래픽 감소 디스크에 쓰기 전에 KV 리스트(Key-value list)에 대한 전처리를 수행 e.g. aggregation: Sum, count and etc 파티션(Partition) 키를 기준으로 디스크에 분할 저장. 해시 파티셔닝 (Hash Partioning)이 기본 각 파티션은 키를 기준으로 정렬이 됨 HDFS가 아닌 맵퍼의 Local File System에 저장 분할된 각 파일은 각각 다른 리듀스 태스크(Reduce Task)에 저장됨

Split file G into 4 file splits 2.2 매핑 프로세스 예제: Word Count Mapper Doc Data Map Combine Partition Local File System Map Hash (key) Output File 1 KV List Aggregated KV List Buffers KV List Output File 2 Map Map 1 1 1 Map 3 Output File 3 written written 1 written 1 Output File 4 user user 1 1 … … user … 2 Output File 5 … Split file G into 4 file splits Map Task FileSplit 1 Map Task FileSplit 2 Map Task FileSplit 3 Map Task FileSplit 4 Hadoop Distributed File System File G File G

2.3 리듀싱 프로세스 셔플 (Shuffle) 정렬 (Sort) 리듀스 (Reduce) 여러 맵퍼에 있는 결과 파일을 각 리듀서에 할당 리듀서에 할당된 결과 파일을 리듀서의 로컬 파일 시스템으로 복사 정렬 (Sort) 병합 정렬(Merge sort)를 이용하여 맵퍼 결과 파일을 정렬/병합 Key로 정렬된 하나의 커다란 파일이 생성됨 리듀스 (Reduce) 정렬 단계에서 생성된 파일을 처음부터 순차적으로 읽으면서 리듀스 함수를 수행

2.3 리듀싱 프로세스 예제: Word Count Mapper 1 Reducer 1 … … … Mapper 2 Reduce Task 1 Shuffle/Copy Sort (Merge sort) Reduce Local File System Reduce Task 2 Output File 1 Reduce Task 3 Output File 2 Output File 3 Local File System Reduce Task 4 Reduce Task 1 Seq File Result Output File 4 Reduce Task 2 Map 1 Map 5 Output File 5 Reduce Task 5 Reduce Task 3 Map … 2 written 8 … Reduce Task 6 written 1 Reduce Task 7 written … 4 Reduce Task 8 Mapper 2 Reduce Task 6 Local File System Reduce Task 7 Reducer 2 Output File 1 Reduce Task 8 Output File 2 Result Shuffle Output File 3 Reduce 3 Reduce Task 9 Sort User 7 … Output File 4 Output File 5 Reduce Task 10 Reduce

3. 요약 맵리듀스는 맵 리듀스 큰 데이터를 손쉽게 처리하기 위해 데이터를 분산 처리하는 프로그래밍 모델 인풋 데이터를 가공하여 사용자가 원하는 정보를 Key/Value 쌍으로 변환 리듀스 가공된 Key/Value를 Key를 기준으로 각 리듀서로 분배 사용자가 정의한 방법으로 각 Key와 관련된 정보를 추출