SlideShare ist ein Scribd-Unternehmen logo
1 von 29
D a v i d Chapter4 –  구글의 분산데이터처리
Content ,[object Object],[object Object],[object Object],[object Object]
MapReduce –  분산처리를 위한 기반 기술
MapReduce  란 ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MapReduce  의 흐름 데이터 데이터 데이터 Map Map Map Reduce Reduce
MapReduce  의 흐름 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Map 과  Reduce 의 역할 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Map 과  Reduce 의 역할 Map Map Reduce Reduce 키  1 값  1 키  2 값  2 키  A 값  X 키  B 값  Y 키  B 값  Z A = X B = Y, Z Map 은 새로운 키로 값을 생성  /  Reduce 는 같은 키의 값을 통합한다
Map 과  Reduce 의 구체적 사례 벚꽃학교의 페이지 단풍학교의 페이지 docID = 1 docID = 2 역 인데스 302 단풍 301 벚꽃 203 페이지 201 의 101 학교 WordID 단어 0 2 302 0 1 301 3 2 3 1 203 2 2 2 1 201 1 2 1 1 101 위치 docID WordID 단풍학교의 페이지 2 벚꽃학교의 페이지 1 값 ( 텍스트 ) 키 (docID)
Shuffle  – Map 의 출력을 정리 하여 같은 키 값 모음 1:2 201 1:1 101 1:3 203 1:0 301 값 (docID) 키 (wordID) 2:0 302 2:1 101 2:3 203 2:2 201 값 (docID) 키 (wordID) 2:0 302 1:0 301 1:3  2:3 203 1:2  2:2 201 1:1  2:1 101 값 (docID: 위치 ) 의 리스트 키 (wordID)
Reduce 를 이용한 처리 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],302 = 2:0 301 = 1:0 203 = 1:3, 2:3 201 = 1:2, 2:2 101 = 1:1, 2:1 값  (wordID = docID :  위치 , …)
프로그래밍 언어를 이용한 처리 Map(“1”, “ 벚꽃나무학교 페이지” ) -> [ (“301”, “1:0”), (“101”, “1:1”), (“201”, “1:2”), (“203”, “1:3”), Map(“2”, “ 단풍나무학교 페이지” ) -> [ (“302”, “2:0”), (“101”, “2:1”), (“201”, “2:2”), (“203”, “2:3”), # 1 번째 맵 # 2 번째 맵 #  일련의  Reduce Reduce(“101”, [“1:1”, “2:1”]) -> “101 = 1:1, 2:1” Reduce(“201”, [“1:2”, “2:2”]) -> “201 = 1:2, 2:2” ………………… ..
MapReduce 로 할 수 있는 일 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MapReduce 로 할 수 있는 일 ,[object Object],12:01 uesr1 로그인 12:15 uesr2 로그인 12:15 uesr1 로그아웃 . . . 키  : user1 12:01 user1 로그인 12:15 uesr1 로그아웃 키  : user2 12:05 user2 로그인 . . .
워커에 의한 공동 작업 GFS GFS Map Map Reduce Reduce 마스터 # MapReduce  전체 모습 워커 워커 MapReduce 전체 동작을 관리 마스터의 요구에 따라 Map, Reduce  실행
3 단계 처리 과정  (Map) 입력 워커 분할 함수 중간 파일 키  1  값  1 키  2  값  2 … Map 키 A  값 키 B  값 키 C  값 … 키  A  값 키  B  값 키  C  값 키  D  값 . . .  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3 단계 처리 과정  (Shuffle) 중간 파일 워커 셔  플 키  A  값 키  B  값 키  C  값 키  D  값 . . .  . . . . . . . . . . . . 키  B  값 키  A  값 . . . 키  B  값 키  A  값
3 단계 처리 과정  (Shuffle) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3 단계 처리 과정  (Reduce) 워커 . . . . . . . . . . . . 키  B  값 키  A  값 . . . 키  B  값 키  A  값 Reduce 출 력
3 단계 처리 과정  (Reduce) ,[object Object],[object Object],[object Object],[object Object],[object Object]
고속화에 필요한 아이디어 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
고속화에 필요한 아이디어 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
고속화에 필요한 아이디어 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
실행하는 과정에는 단계가 있다 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],MapReduce 의 과정 정리
MapReduce 의 장애 대책 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sawzall –  분산처리용 프로그래밍 언어 G o o g l e
Sawzall ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sawzall 의 흐름 데이터 데이터 데이터 필터 필터 필터 어그리게이터
T h a n k  y o u

Weitere ähnliche Inhalte

Ähnlich wie 구글의 분산데이터 처리

R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1happychallenge
 
Super map iDesktop 교육교재 기초
Super map iDesktop 교육교재 기초Super map iDesktop 교육교재 기초
Super map iDesktop 교육교재 기초선경 김선경
 
Super map idesktop교육교재심화
Super map idesktop교육교재심화Super map idesktop교육교재심화
Super map idesktop교육교재심화선경 김선경
 
하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다민철 정민철
 
Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .YEONG-CHEON YOU
 
Direct3d overview
Direct3d overviewDirect3d overview
Direct3d overview문익 장
 
Mapreduce tuning
Mapreduce tuningMapreduce tuning
Mapreduce tuningGruter
 
ffmpeg optimization using CUDA
ffmpeg optimization using CUDAffmpeg optimization using CUDA
ffmpeg optimization using CUDAyyooooon
 
Map reduce 기본 설명
Map reduce 기본 설명Map reduce 기본 설명
Map reduce 기본 설명Jinho Yoo
 
Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5YEONG-CHEON YOU
 
Terasort
TerasortTerasort
Terasorthhyin
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advanceDaeMyung Kang
 
Tips and experience_of_dx12_engine_development._ver_1.2
Tips and experience_of_dx12_engine_development._ver_1.2Tips and experience_of_dx12_engine_development._ver_1.2
Tips and experience_of_dx12_engine_development._ver_1.2YEONG-CHEON YOU
 
헤테로지니어스 컴퓨팅 : CPU 에서 GPU 로 옮겨가기
헤테로지니어스 컴퓨팅 :  CPU 에서 GPU 로 옮겨가기헤테로지니어스 컴퓨팅 :  CPU 에서 GPU 로 옮겨가기
헤테로지니어스 컴퓨팅 : CPU 에서 GPU 로 옮겨가기zupet
 
[2012널리세미나] Front-End 최적화의 끝판왕, CSM + Markup Complexity
[2012널리세미나]  Front-End 최적화의 끝판왕, CSM + Markup Complexity[2012널리세미나]  Front-End 최적화의 끝판왕, CSM + Markup Complexity
[2012널리세미나] Front-End 최적화의 끝판왕, CSM + Markup ComplexityNts Nuli
 
디콘 특강 기말 요약
디콘 특강 기말 요약디콘 특강 기말 요약
디콘 특강 기말 요약junhozzang
 
introduce of Hadoop map reduce
introduce of Hadoop map reduceintroduce of Hadoop map reduce
introduce of Hadoop map reduceDaeyong Shin
 
[0312 조진현] good bye dx9
[0312 조진현] good bye dx9[0312 조진현] good bye dx9
[0312 조진현] good bye dx9진현 조
 
R 스터디 세번째
R 스터디 세번째R 스터디 세번째
R 스터디 세번째Jaeseok Park
 
osgeo 봄 세미나 -R
osgeo 봄 세미나 -Rosgeo 봄 세미나 -R
osgeo 봄 세미나 -RJiyoon Kim
 

Ähnlich wie 구글의 분산데이터 처리 (20)

R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1
 
Super map iDesktop 교육교재 기초
Super map iDesktop 교육교재 기초Super map iDesktop 교육교재 기초
Super map iDesktop 교육교재 기초
 
Super map idesktop교육교재심화
Super map idesktop교육교재심화Super map idesktop교육교재심화
Super map idesktop교육교재심화
 
하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다
 
Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .
 
Direct3d overview
Direct3d overviewDirect3d overview
Direct3d overview
 
Mapreduce tuning
Mapreduce tuningMapreduce tuning
Mapreduce tuning
 
ffmpeg optimization using CUDA
ffmpeg optimization using CUDAffmpeg optimization using CUDA
ffmpeg optimization using CUDA
 
Map reduce 기본 설명
Map reduce 기본 설명Map reduce 기본 설명
Map reduce 기본 설명
 
Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5
 
Terasort
TerasortTerasort
Terasort
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
 
Tips and experience_of_dx12_engine_development._ver_1.2
Tips and experience_of_dx12_engine_development._ver_1.2Tips and experience_of_dx12_engine_development._ver_1.2
Tips and experience_of_dx12_engine_development._ver_1.2
 
헤테로지니어스 컴퓨팅 : CPU 에서 GPU 로 옮겨가기
헤테로지니어스 컴퓨팅 :  CPU 에서 GPU 로 옮겨가기헤테로지니어스 컴퓨팅 :  CPU 에서 GPU 로 옮겨가기
헤테로지니어스 컴퓨팅 : CPU 에서 GPU 로 옮겨가기
 
[2012널리세미나] Front-End 최적화의 끝판왕, CSM + Markup Complexity
[2012널리세미나]  Front-End 최적화의 끝판왕, CSM + Markup Complexity[2012널리세미나]  Front-End 최적화의 끝판왕, CSM + Markup Complexity
[2012널리세미나] Front-End 최적화의 끝판왕, CSM + Markup Complexity
 
디콘 특강 기말 요약
디콘 특강 기말 요약디콘 특강 기말 요약
디콘 특강 기말 요약
 
introduce of Hadoop map reduce
introduce of Hadoop map reduceintroduce of Hadoop map reduce
introduce of Hadoop map reduce
 
[0312 조진현] good bye dx9
[0312 조진현] good bye dx9[0312 조진현] good bye dx9
[0312 조진현] good bye dx9
 
R 스터디 세번째
R 스터디 세번째R 스터디 세번째
R 스터디 세번째
 
osgeo 봄 세미나 -R
osgeo 봄 세미나 -Rosgeo 봄 세미나 -R
osgeo 봄 세미나 -R
 

Mehr von juhyun

Social Web 4
Social Web 4Social Web 4
Social Web 4juhyun
 
Social Web 3
Social Web 3Social Web 3
Social Web 3juhyun
 
Social Web 2
Social Web 2Social Web 2
Social Web 2juhyun
 
Social Web 1
Social Web 1Social Web 1
Social Web 1juhyun
 
미코노미2
미코노미2미코노미2
미코노미2juhyun
 
웹기획2
웹기획2웹기획2
웹기획2juhyun
 
웹사이트 벤치마킹의2
웹사이트 벤치마킹의2웹사이트 벤치마킹의2
웹사이트 벤치마킹의2juhyun
 
Meconomy2
Meconomy2Meconomy2
Meconomy2juhyun
 
미코노미
미코노미미코노미
미코노미juhyun
 
Meconomy
MeconomyMeconomy
Meconomyjuhyun
 
구글의 분산스토리지
구글의 분산스토리지구글의 분산스토리지
구글의 분산스토리지juhyun
 
Meconomy
MeconomyMeconomy
Meconomyjuhyun
 
Web Plan1 4
Web Plan1 4Web Plan1 4
Web Plan1 4juhyun
 
Banchmarking1 4
Banchmarking1 4Banchmarking1 4
Banchmarking1 4juhyun
 
google dinos
google dinosgoogle dinos
google dinosjuhyun
 
구글의 공룡화
구글의 공룡화구글의 공룡화
구글의 공룡화juhyun
 
Google Birth
Google BirthGoogle Birth
Google Birthjuhyun
 
Google Birth
Google BirthGoogle Birth
Google Birthjuhyun
 
Google Birth
Google BirthGoogle Birth
Google Birthjuhyun
 

Mehr von juhyun (20)

Web 5
Web 5Web 5
Web 5
 
Social Web 4
Social Web 4Social Web 4
Social Web 4
 
Social Web 3
Social Web 3Social Web 3
Social Web 3
 
Social Web 2
Social Web 2Social Web 2
Social Web 2
 
Social Web 1
Social Web 1Social Web 1
Social Web 1
 
미코노미2
미코노미2미코노미2
미코노미2
 
웹기획2
웹기획2웹기획2
웹기획2
 
웹사이트 벤치마킹의2
웹사이트 벤치마킹의2웹사이트 벤치마킹의2
웹사이트 벤치마킹의2
 
Meconomy2
Meconomy2Meconomy2
Meconomy2
 
미코노미
미코노미미코노미
미코노미
 
Meconomy
MeconomyMeconomy
Meconomy
 
구글의 분산스토리지
구글의 분산스토리지구글의 분산스토리지
구글의 분산스토리지
 
Meconomy
MeconomyMeconomy
Meconomy
 
Web Plan1 4
Web Plan1 4Web Plan1 4
Web Plan1 4
 
Banchmarking1 4
Banchmarking1 4Banchmarking1 4
Banchmarking1 4
 
google dinos
google dinosgoogle dinos
google dinos
 
구글의 공룡화
구글의 공룡화구글의 공룡화
구글의 공룡화
 
Google Birth
Google BirthGoogle Birth
Google Birth
 
Google Birth
Google BirthGoogle Birth
Google Birth
 
Google Birth
Google BirthGoogle Birth
Google Birth
 

구글의 분산데이터 처리

  • 1. D a v i d Chapter4 – 구글의 분산데이터처리
  • 2.
  • 3. MapReduce – 분산처리를 위한 기반 기술
  • 4.
  • 5. MapReduce 의 흐름 데이터 데이터 데이터 Map Map Map Reduce Reduce
  • 6.
  • 7.
  • 8. Map 과 Reduce 의 역할 Map Map Reduce Reduce 키 1 값 1 키 2 값 2 키 A 값 X 키 B 값 Y 키 B 값 Z A = X B = Y, Z Map 은 새로운 키로 값을 생성 / Reduce 는 같은 키의 값을 통합한다
  • 9. Map 과 Reduce 의 구체적 사례 벚꽃학교의 페이지 단풍학교의 페이지 docID = 1 docID = 2 역 인데스 302 단풍 301 벚꽃 203 페이지 201 의 101 학교 WordID 단어 0 2 302 0 1 301 3 2 3 1 203 2 2 2 1 201 1 2 1 1 101 위치 docID WordID 단풍학교의 페이지 2 벚꽃학교의 페이지 1 값 ( 텍스트 ) 키 (docID)
  • 10. Shuffle – Map 의 출력을 정리 하여 같은 키 값 모음 1:2 201 1:1 101 1:3 203 1:0 301 값 (docID) 키 (wordID) 2:0 302 2:1 101 2:3 203 2:2 201 값 (docID) 키 (wordID) 2:0 302 1:0 301 1:3 2:3 203 1:2 2:2 201 1:1 2:1 101 값 (docID: 위치 ) 의 리스트 키 (wordID)
  • 11.
  • 12. 프로그래밍 언어를 이용한 처리 Map(“1”, “ 벚꽃나무학교 페이지” ) -> [ (“301”, “1:0”), (“101”, “1:1”), (“201”, “1:2”), (“203”, “1:3”), Map(“2”, “ 단풍나무학교 페이지” ) -> [ (“302”, “2:0”), (“101”, “2:1”), (“201”, “2:2”), (“203”, “2:3”), # 1 번째 맵 # 2 번째 맵 # 일련의 Reduce Reduce(“101”, [“1:1”, “2:1”]) -> “101 = 1:1, 2:1” Reduce(“201”, [“1:2”, “2:2”]) -> “201 = 1:2, 2:2” ………………… ..
  • 13.
  • 14.
  • 15. 워커에 의한 공동 작업 GFS GFS Map Map Reduce Reduce 마스터 # MapReduce 전체 모습 워커 워커 MapReduce 전체 동작을 관리 마스터의 요구에 따라 Map, Reduce 실행
  • 16.
  • 17. 3 단계 처리 과정 (Shuffle) 중간 파일 워커 셔 플 키 A 값 키 B 값 키 C 값 키 D 값 . . . . . . . . . . . . . . . 키 B 값 키 A 값 . . . 키 B 값 키 A 값
  • 18.
  • 19. 3 단계 처리 과정 (Reduce) 워커 . . . . . . . . . . . . 키 B 값 키 A 값 . . . 키 B 값 키 A 값 Reduce 출 력
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Sawzall – 분산처리용 프로그래밍 언어 G o o g l e
  • 27.
  • 28. Sawzall 의 흐름 데이터 데이터 데이터 필터 필터 필터 어그리게이터
  • 29. T h a n k y o u