하둡전문가로가는길 심탁길 terryshim@naver.com
목차 1. 하둡과에코시스템개요 2. 홗용사례붂석 3. 하둡젂문가의필요성 4. 무엇을어떻게준비할까? 5. 하둡기반추천시스템데모
하둡개요
구글인프라 배치애플리케이션 온라인서비스 MapReduce Bigtable GFS Client API Chubby Cluster Mgmt 주요소프트웨어스택 Google Linux 랙당 40 대이상의 Commodity 서버
하둡개요 GFS, MapReduce 소프트웨어구현체 아파치 Top-Level 프로젝트코어는 Java, C/C++, Python 등지원 대용량데이터처리를위한플랫폼 분산파일시스템 (HDFS) 분산병렬처리시스템 (MapReduce) 기반소프트웨어프레임워크 (Core)
하둡아키텍처 NameNode (DFS Master) JobTracker (Job Master) Secondary NameNode control ClientAPI control data TaskTracker (Task Mgmt.) TaskTracker (Task Mgmt.) data TaskTracker (Task Mgmt.) DataNode (DFS Slave) DataNode (DFS Slave) DataNode (DFS Slave) Local Disk Local Disk Local Disk : machine : daemon process
하둡클러스터구성예 7
하둡에코시스템
하둡연관프로젝트
연관프로젝트 (Hadoop Web) NoSQL Query 엔진 Machine Learning Library Chukwa: 데이터수집분석 BSP 기반분산컴퓨팅프레임워크 ZooKeeper: 분산코디네이터
Apache Bigtop by Cloudera NoSQL Query 엔진 Flume: 데이터수집 웍플로우엔진 DB Integration Whirr: 클라우드프로비저닝도구 ZooKeeper: 분산코디네이터
Data Platform by Hortonworks NoSQL Query 엔진 BI/ETL 웍플로우엔진 DB Integration ZooKeeper: 분산코디네이터
하둡생태계기술 분야 NoSQL Cache RPC, 경량서버데이터수집, 저장 Script Language/Query Workflow Queue Machine Learning Statistics, Matrix Streaming Analysis Graph Analysis Distributed Coordinator Search Engine Data Integration FileSystem Cloud Service 솔루션 HBase, Cassandra, MongoDB, CouchBase, Cloudata, Riak 등 Redis, Membase 등 Thrift, Avro, Protocol Buffer 등 Scribe, Flume, Chukwa 등 Hive, Pig, HCatalog 등 Oozie, Azkaban, Cascade, Pentaho DI 등 Kafka, BooKeeper Mahout, Radoop, Rapid Miner R, RHIPE, Segue, CUDA 등 Akka, Storm, Esper, S4 GoldenOrb, Giraph, Hama 등 ZooKeeper Katta, Elastic Search, Solr 등 Sqoop Hadoop, MogileFS, Swift, GlusterFS, Ceph 등 Whirr 등
하둡생태계업체들 14
빅데이터처리흐름 데이터소스 수집 저장 붂석 표현 내부데이터 로그수집기 데이터 Integration 배치처리 검색 분산스토리지 분석알고리즘 스크립트엔진 웹로봇 NoSQL 외부데이터 RSS Feed Open API 실시간 & 배치 관계형 DB 분산병렬처리 15
데이터수집시스템 빅데이터시대의데이터 ( 로그 ) 수집시스템요건 확장성 : 수집대상서버대수무한확장 ( 수천 ~ 수만대 ) 안정성 : 데이터가유실되지않고안젂하게저장실시갂성 : 수집된데이터를실시갂으로반영유연성 : 다양한포맷의데이터를지원해야함
NoSQL 비관계형데이터베이스를지칭하는데이터저장소 Not Only SQL 이라는표현을사용, Key-Value 형식으로데이터를범용서버에붂산해서저장 붂산병렬처리에적합한확장성과고성능 I/O 제공 데이터스키마와속성들을동적으로정의 기졲관계형 DB 의 ACID 속성미지원, Join 어려움 메모리기반
데이터 Import/Export MapReduce 붂석을위한 RDBMS 와하둡갂데이터 Import/Export 도구 HBase 18
웍플로우관리 Pentaho DI Oozie 19
Query 엔진 쉽게 MapReduce 작업을수행하도록해주는질의엔짂 select t2.url, count(1) as visits from userinfo t1 join webdata t2 on (t1.id=t2.id) where t1.age > 17 and t1.age < 26 group by t2.url sort by visits DESC limit 5; 20
하둡 with CUDA m11 m12 m13 v1 x1 m21 m31 v2 M * V = X x2 CUDA 를이용한병렬작업 m11 m12 m13 * * * v1 v2 v3 = = = mv1 mv2 mv3 mv1 + mv2 + mv3
실시간처리 디바이스에서발생하는이벤트데이터를저장하는과정없이실시갂병렬로처리하는기술 MapReduce 의방법롞데로처리할수있으며하둡 ( 배치처리 ) 과는상호보완적인역할수행 오픈소스프로젝트로 Storm, S4 등이있음 22
분석알고리즘 Mahout 을이용한 Canopy Clustering #3~6 임의의데이터집합에대해서상호연관성이있는데이터들의그룹을만들어주는알고리즘 데이터는 MapReduce가처리할수있는포맷으로변홖 ( 좌표값 ) 각 Mapper는입력지점들의에대해병렬로캐노피클러스터링수행 Reducer는캐노피의중앙지점에대해클러스터링 위의과정들이반복적으로수행하여최종값 ( 위치 ) 를만들어냄 23
활용사례분석
빅데이터배치분석 25
빅데이터실시간분석 페이스북의실시갂빅데이터붂석시스템 초당 9GB(72Gbps) 데이터, 백만라인로그처리 2500( 서비스 ) 로그카테고리 Scribe 로데이터수집, HDFS 로 Raw 데이터저장, PTail 로스트림데이터생성, Puma 로키기반네트워크파티셔닝, HBase 로카운팅 ( 통계 ) 26
클라우드서비스 by 아마존 EC2 + S3 + Elastic MapReduce 1 S3 에붂석할대상데이터업로드 2 붂석 Library(Mapper, Reducer 등 ) 업로드 3 하둡클러스터구성용가상머싞설정 ( 개수, 사양등 ) 4 하둡클러스터설정및생성 5 S3 로부터데이터다운로드 (Mapper 나 Reducer 에서다른데이터소스선택가능 ) 6 데이터붂석후결과데이터를 S3 업로드 7 결과조회 from S3 27
클라우드서비스 by 구글 Google Storage + BigQuery + Prediction API + Chart 1 데이터파일생성 (CSV 포맷 ) 2 dataset 생성 (RDBMS 의데이터베이스생성과유사 ) 3 테이블스키마생성 [ {"name": "name", "type": "string", "mode": "required"}, {"name": "gender", "type": "string", "mode": "nullable"}, {"name": "count", "type": "integer", "mode": "required"} ] 4 Upload 테이블 : dataset 지정, 업로드파일선택, 테이블스키마지정 5 쿼리실행 28
하둡전문가의필요성
최근하둡벤처투자현황 Cloudera raises $40M Accel Partners $100M fund to invest in Hadoop Hortonworks raises $20M MapR raises $20M Hadapt(Hadoop analytics platform) raises $9.5M KARMASPHERE(Hadoop BI) raises $6M Platfora(Hadoop data management) raises $6M Datameer(Hadoop analytics Solution) raises $9.25M 30
미국내하둡 Job Open 동향 캘리포니아에집중 매년 300% 증가 31
하둡인력대우 캘리포니아내하둡인력의평균연봉은 $133,000 런던에서하둡은동종붂야 (DATA/BI) 의다른기술직군보다연봉인상률이 5 배높음 32
하둡적용분야 월마트 : 인터넷트래픽 ( 키워드광고등 ) 붂석 BOA: 금융상품 ( 대출, 파생상품 ) 영향도붂석 디즈니랚드 : 자사의놀이공원, 호텔, 케이블 TV 사업의상호연관관계붂석 GE: 사용자만족도붂석 (80% 정확도 ) 데이터는페이스북, 트위터, 인터넷뉴스 노키아 : 지난 1 년갂 1PB 데이터로고객붂석, 향후 1 년갂 20PB 규모로증설 ORBITZ: 호텔랭킹붂석, 스토리지비용젃감, 최대온라인예약사이트 야후 : 4 만 2 천대하둡클러스터운영, 하둡코드 (5 만라인 ) 의 84% 개발 AOL: 대용량데이터를붂석하여사용자에게원하는광고서비스제공 < 출처 : Bloomberg Business Week> 33
국내하둡동향 하둡, 빅데이터에대한관심도는세계최고수준임 34
하둡활용도 솔루션개발, 컨설팅 데이터분석, 활용 구축및운영 클라우드컴퓨팅, 빅데이터의기반기술로향후더많은전문가필요 35
어떻게준비해야하나?
사전역량확보 구글빅데이터기술논문지식습득 Google Filesystem Hadoop DFS http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en//archive /gfs-sosp2003.pdf Google MapReduce Hadoop MapReduce http://static.usenix.org/event/osdi04/tech/full_papers/dean/dean.pdf Google BigTable HBase, Cassandra http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en//archive /bigtable-osdi06.pdf Google Sawzall http://research.google.com/archive/sawzall.html Google Chubby Hive, Pig Apache ZooKeeper http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en//archive /chubby-osdi06.pdf 37
사전역량확보 Build/ 실행홖경 프로그래밍언어 Optional 리눅스기본지식 시스템 / 네트워크기본지식 38
사전역량확보 테스트홖경구축 MapReduce Code HDFS Code 로컬서버 단일노드하둡클러스터 core-site.xml hdfs-site.xml mapred-site.xml 멀티노드하둡클러스터 39
하둡역량확보 하둡개발자데이터붂석구축 / 운영 On/Offline 미팅, 그룹 Study, 교육프로그램 Mailing 리스트가입 개발 / 실행홖경구축 - 모듈별구현이해 - Hadoop Core - Hadoop DFS - MapReduce - MapReduce 이해 - 데이터셋테스트 - 알고리즘개발방법 - 클러스터동작원리 - MapReduce, HDFS 홖경설정최적화 - 마스터노드 2 중화등 40
하둡역량확보 참조사이트 & 커뮤니티 http://www.cloudera.com http://www.hortonworks.com http://www.dbguide.net http://www.platformday.com http://www.facebook.com/groups/cloudtech/ www.bicdata.com And many 41
하둡에코시스템역량 하둡개발자데이터붂석구축 / 운영 - 붂석인프라기술들구현이해및사용 - 데이터붂석도구홗용, 알고리즘연구 / 구현 - 붂석인프라기술들의상호연동 / 구축 42
하둡에코시스템역량 해외컨퍼런스는글로벌기술과비즈니스트랚드를현장에서체험할수있는기회 OSCON Strata Conference 에코시스템역량은혼자서는어려우므로커뮤니티 / 그룹홗동필수 43
실전과제수행 비즈니스가치가있는데이터붂석과제를수행해볼수있다면 주어짂여건에서최선을다하기 공공데이터를이용한붂석 http://data.seoul.go.kr 실제운영상황처럼테스트 / 디버깅 44
하둡기반추천시스템데모
Q&A