빅데이터기술의이해 2016. 8. 23 장형석 충북대비즈니스데이터융합학과교수 chjang1204@nate.com
장형석교수 # 경력 ( 현직 ) - 충북대학교비즈니스데이터융합학과 - 국민대학교빅데이터경영 MBA 과정겸임교수 - 연세대학교데이터사이언스과정외래교수 # 저서및역서 - [ 실전하둡운용가이드 ] 한빛미디어, 2013.07 - [ 빅데이터컴퓨팅기술 ] 한빛아카데미, 2014.06 - [ 비주얼컴플렉시티 ] 한빛미디어, 2016.04 - [ 하둡완벽가이드개정4판 ] : 번역중 / 2
Session 1 빅데이터의이해 / 3
1. 빅데이터의이해 시대구분 농경시대산업화시대빅데이터시대사람의시대 / 4
1. 빅데이터의이해 빅데이터의정의 전문가컴퓨터월드매킨지오라클 정의 빅데이터 는기기와사람이생성한컴퓨터시스템로그파일, 전자금융거래, 웹검색스트림, 이메일메타데이터, 검색엔진쿼리, 소셜네트워킹활동등에서수집되는정보 빅데이터는전통적인데이터베이스소프트웨어도구로는획득하고, 저장하고, 관리하고분석할수없는규모의데이터를뜻한다 빅데이터는전통적인기업데이터, 기계생성데이터, 소셜데이터를포함한다 야후빅데이터는기업이생성하는비구조적데이터이다. IDC 장형석 빅데이터여부를판단할수있는규모기준은없다. 규모가크고, 구조가다양하며, 매우빠르게획득하고분석할수있도록새로운기술로관리해야하는데이터이다 (1) 빅 : Value 가크다. (2) 데이터 : Big Value 는 Data 를통해서얻을수있다. / 5
1. 빅데이터의이해 빅데이터의 3 대속성 데이터의다양성 Variety 데이터의 규모 메인프레임 PC 인터넷모바일 IOT( 사물인터넷 ) 웨어러블 제조빅데이터 Volume '70~'80 90 년대 90 년대후반이후현재 ~ 데이터의속도 Velocity / 6
/ 7
Session 2 IT 트랜드와최근동향 / 8
2. IT 트랜드와최근동향 빅데이터시대의준비 Cloud 클라우드스토리지가상머신가상데스크탑 아마존 Smart Phone 무선인터넷 Apps 애플 Hadoop 분산시스템대용량배치분석 아파치재단 / 9
2. IT 트랜드와최근동향 빅데이터시대의현재 IoT 스마트가전 ( 홈 ) 스마트공장 미래자동차 ( 무인자동차 ) HardWare 스마트시계 / 안경 / 신발 웨어러블 자가발전 가상현실 ( 증강현실 ) 아이언맨? / 10
2. IT 트랜드와최근동향 빅데이터시대의현재 머신러닝 딥러닝 AI( 인공지능 ) : 왓슨 실시간번역기 : 설국열차 SoftWare 실시간분석 Real Time & Streaming Analytics Predict 오픈소스 OpenStack Beyond Hadoop & Spark Ecosystem Linux / 11
Session 3 빅데이터플랫폼 / 12
1. 빅데이터플랫폼 - 프로세스 전형적인빅데이터처리과정 데이터 수집 저장 분석 시각화 서비스
1. 빅데이터플랫폼 빅데이터수집 / 분석 / 서비스를위한목표플랫폼 빅데이터플랫폼 데이터 서비스 서비스 / 시각화 시각화 활용 내부DB 외부DB 공공DB 문서파일포털 (WEB) SNS A P I A g e n t SFTP HTTPS REST SOAP Agent Download SFTP Agent Download Crawling 빅데이터 통합 연계 수집 OA, 보안,... 그룹사 A, B,... 분야 A, B,... 외부서비스 A, B,... 통계 / 분석 형태 정형 / 준정형 비정형 통계 / 분석 / 데이터마이닝 데이터마이닝 관리 메타데이터 데이터모델 텍스트마이닝 분석 소셜네트워크분석 저장 / 처리 데이터원본 DB 기초데이터 기초데이터 RDBMS/MPP NO SQL 분산파일시스템 연계 / 수집 추출전송변환저장 인프라 분석결과 DB 결과데이터 결과데이터 실시간분석 데이터시각화 고급분석 머신러닝 서비스시각화 처리 예측분석 배치처리 CEP SQL 경영진부서그룹사외부개인고객공공 통합보안 H/W N/W S/W 인증
1. 빅데이터플랫폼 - 예시 국내 A 업체의빅데이터아키텍처및소프트웨어구성도 ( 우축의 S/W 는오픈소스위주로만표시함 ) 데이터 웹서비스 빅데이터분석가및고객을위한통합분석웹인터페이스 웹 / 모바일 App D3.js DB 빅데이터분석 DB A P I 통계 / 분석 / 마이닝비정형분석통계 / 분석데이터마이닝 SNA 배치분석텍스트분석 R,RHadoop Spark, Pig S4, Storm Mahout DB 형태 정형 / 준정형 구분 내부 DB 빅데이터저장 / 처리 데이터원본 DB 기초데이터 분석결과 DB 결과데이터 Tajo Hive 비정형 외부 /SNS 기초데이터 결과데이터 HDFS MapReduce 파일 로그 A g e n t RDBMS/MPP NoSQL/In-Memory DB 분산파일시스템 빅데이터연계 / 수집 추출전송변환저장 빅데이터인프라 Flume Sqoop 통합보안 H/W N/W S/W 인증 클라우드 ( 오픈스택 ) 클러스터매니저 (CDH)
1. 빅데이터플랫폼 - 구성도 To-Be 인프라 H/W 종합구성도
2 연계및수집 Layer 1) 요구사항및구성요소정의 연계및수집 요구사항 다양한데이터연계수집다양한환경지원대용량데이터수집지원다양한연계방식지원다양한네트워크구성지원 정형및비정형데이터를모두연계 / 수집할수있도록구성필요 내부 / 그룹사 / 웹사이트등정보제공처의다양한환경을고려한구성필요 수집되는데이터는상당수가대용량데이터일것으로예상됨대용량데이터를충분히수집할수있도록구성필요 수집되는데이터의특성에따라다양한방식으로연계 / 수집할수있도록구성필요 내부망, 외부망, 전용선등다양한네트워크를지원할수있도록구성필요 소셜 / 웹데이터수집지원 소셜및웹사이트의데이터수집을지원할수있도록구성필요 수동데이터업로드지원 시스템에의한자동연계외에수동으로데이터업로드를지원할수있도록구성필요 연계및수집구성요소 데이터소스 네트워크 데이터채널 연계 / 수집기술 연계 / 수집관리도구 정형데이터 (DB,Excel,XML) 비정형데이터 (File, Web) 내부망전용선일반인터넷오프라인 ( 사람 ) 연계를위한다양한소스채널유관기관제공 API Open API 수집 Agent SOA 방식데이터수집기술 RDBMS 데이터 Import 기술 ETL Tools SFTP, 웹크롤링 On-Demand 데이터업로드 연계 / 수집한데이터에대한모니터링및내역관리
2. 연계및수집 Layer 2) 구성도 : 데이터연계및수집관련구성요소및 Flow 데이터소스데이터제공채널네트워크연계 / 수집빅데이터저장소 DB 데이터센터데이터센터 기관제공 API 수집시스템 분산파일시스템 DB DB 그룹사그룹사 OPEN API 내부망 SFTP Collector ETL 데이터 Flow 제어전달보장프로토콜변환 DB DB 데이터센터그룹사고객사 DB 접속등수집 AGENT 전용선 인터넷 Sqoop 트랜잭션관리인증 / 보안데이터업로드 ( 수동 ) NoSQL RDBMS 비정형 (File) Excel File 관리 PC WEB SNS SFTP 등수집 AGENT 수동 ( 사람 ) File Upload 데이터연계 / 수집관리시스템 통합관리및모니터링 Data Warehouse
3. 저장및처리 Layer 1) 요구사항및구성요소정의 통합운영 / 관리데이터저장소 분석을위한데이터임시저장소 백업을위한데이터저장소 데이터의저장과운영에필요한통합적인운영 / 관리기능을지원 분석을위하여수집된데이터의임시저장소로, 분석이완료된데이터는폐기 ( 삭제 ) 함 중요한자료는반드시백업이필요하며, 이를위한백업저장소의기능을지원해야함 저장및처리 요구사항 데이터가공을위한기반 쉬운데이터처리 수집된데이터를전처리 ( 가공 ) 하여분석에활용될수있도록지원 데이터처리를쉽게할수있는 SQL 쿼리지원 대용량데이터저장 데이터센터, 그룹사및외부로부터수집하는데이터의양이증가할것을대비하여대용량데이터를충분히저장할수있는확장성있는구성이필요 다양한데이터저장 분석에활용되는데이터의종류및형태 ( 정형 / 비정형 ) 는다양하므로이를체계적으로저장할수있는구성을지원 구성요소 저장데이터형식 대용량데이터저장소 하이브리드 DW 배치처리 /SQL/CEP 데이터관리및연계 정형데이터 -> RDBMS 준정형데이터 -> NoSQL 비정형데이터및원본로그 -> File( 로컬및분산파일 ) 분산파일시스템 SQL on Hadoop( 타조등 ) NoSQL(HBase, 몽고 DB 등 ) 원본데이터저장소역할 하둡기반의 SQL 과상용 RDBMS/ MPP( 엑사데이터, 그린플럼 ) 가연계된통합 DataWarehouse 데이터처리를위한맵리듀스및 SQL 쿼리지원실시간데이터처리를위한 CEP 지원 메타데이터관리데이터통합관리를위한운영 / 관리시스템 R/SAS 등통계패지와의연계 OLAP 및분석솔루션과의연계
3. 저장및처리 Layer 2) 구성도 - 통합저장플랫폼및특징 빅데이터저장및처리플랫폼 데이터형태 RDBMS 정형데이터 DB / MPP 배치처리 준정형데이터 DB XML NoSQL / SQL on Hadoop SQL 쿼리 비정형데이터 File CEP 실시간처리 HDFS - 분산파일시스템 다양한유형의저장소구성 하이브리드 DW / SQL 쿼리 유연한데이터교환기반구성 관리 / 운영을위한 DB 구성 빅데이터공통기반으로수집되는데이터유형이다양하기때문에, 다양한유형의데이터를저장할수있는체계를구성함 수집된데이터는해당데이터의포맷에따라각각의저장소에저장될수있도록구성 RDBMS NoSQL HDFS 데이터분석효율의극대화및 NoSQL DB 기반의분석도구를활용하기위하여 NoSQL 데이터를저장하기위한환경구성 데이터저장도구는서로다르지만 SQL 쿼리를모두지원하는기술이요구됨 ( 타조, 임팔라등 SQL on Hadoop) 저장 : HDFS/NoSQL/RDBMS/MPP 쿼리 : 모두 SQL 을지원 RDB/NoSQL/HDFS(File) 간의데이터를변환하여저장할수있는기반을구성하여제공함 데이터변환은분석플랫폼의데이터변환도구를활용함 NoSQL RDBMS HDFS 수집되는다양한데이터의저장및폐기 ( 삭제 ) 이력을관리할수있는체계구성 저장데이터와활용채널간의관계를관리할수있는체계를구성 저장데이터 운영 / 관리 데이터
4. 하둡 1.0 Ecosystem
4. 하둡 1.0 Ecosystem 정형 준정형 비정형 빅데이터배치처리기술 하둡맵리듀스 배치분석 HDFS/HBase 하둡분산파일시스템 (HDFS) 기반의대용량데이터분산병렬처리시스템 고가용성병렬처리프레임워크로개발자가쉽게대용량데이터를처리 대량의데이터에대한분산병렬처리 맵리듀스의주요기능 배열및행렬로표현된데이터에대한통계분석 소셜및반정형데이터에서원하는데이터를추출하기위한텍스트분석 숨어있는데이터간의상호관련성및유용한정보추출을위한기계학습 비정형데이터와정형데이터의연계분석 하둡맵리듀스 텍스트분석 통계분석 기계학습 < 분산 / 병렬데이터처리분석 > CPU CPU File System CPU CPU File System CPU CPU File System 모니터링및관리 1.Zookeeper 하둡에코시스템 ( 하둡 1.0 기준 ) 워크플로우 2.Oozie 분산데이터스토어 3.HBase 비정형데이터수집 9.Chukwa 10.Flume 11.Scribe 데이터배치분석 4.Pig 5.Hive 기계학습 6.Mahout 메타데이터관리 7.HCatalog 분산병렬처리 ( 맵리듀스 ) 분산파일시스템 (HDFS) 정형데이터수집 12.Sqoop 13.Hiho 데이터직렬화 8.Avro 1. Zookeeper : 분산환경에서서버들간에상호조정이필요한다양한서비스제공 2. Oozie : 하둡작업을관리하는워크플로우및코디네이터시스템 3. Hbase : HDFS 기반의칼럼기반데이터베이스 4. Pig : 복잡한 MapReduce 프로그래밍을대체할 Pig Latin 언어제공 5. Hive : 하둡기반의데이터웨어하우징용솔루션 6. Mahout : 하둡기반으로데이터마이닝알고리즘을구현한오픈소스 7. Hcatalog : 하둡으로생성한데이터를위한테이블및스토리지관리 8. Avro : RPC(Remote Procedure Call) 과데이터직렬화를지원하는프레임워크 9. Chukwa : 분산환경에서생성되는데이터를 HDFS 에안정적으로저장시키는플랫폼 10. Flume : 소스서버에에이전트가설치, 에이전트로부터데이터를전달받는콜랙터로구성 11. Scribe : 페이스북에서개발, 데이터수집플랫폼, Chukwa 와달리중앙집중서버로전송 12. Sqoop : 대용량데이터전송솔루션이며, HDFS, RDBMS, DW,NoSQL 등다양한저장소에대용량데이터를신속하게전송할수있는방법제공 13. Hiho : Sqoop 과같은대용량데이터전송솔루션이며, 하둡에서데이터를가져오기위한 SQL 을지정할수있으며, JDBC 인터페이스를지원
4. 하둡 2.0 Ecosystem 하둡 1.0 에서 2.0 으로발전
5. Spark Streaming Stream Processing with Spark Streaming
Session 4 인메모리분석기술 - Spark / 25
1. Spark 개요 분산, 초고속, 인메모리 MapReduce like Computing Framework - Interactive 쿼리를위한인메모리데이터스토리지 - Graph 등쿼리에최적화된실행엔진 - Iterative Algorithms(Machine Learning) - Interactive Data Mining - 하둡보다엄청빠름 - Stinger와유사한아키텍처 Hadoop Storage 및 DataBase Support - 하둡기반시스템과호환 - HDFS, Hbase, SequenceFiles.. - Mysql, Oralce, Casandra... : JDBC Driver
1. Spark 특징 HDFS & Hive 통합 - Port of Hive to run on Spark - Existing Hive 데이터 - Existing Hive Metastore - Existing Query(HiveQL, UDFs, ) Programming is Scala - Scala Shell - Python Support : PySpark - Java Support History - Spark started in 2009, UC Berkeley AMP Lab - Shark started in 2011
1. Spark Spark vs Hadoop : Word Count
1. Spark 구성요소
1. Spark Data Process Model MapReduce
1. Spark Data Process Model Spark
1. Spark Example : Log Mining
1. Spark 성능 : Logistic Regression
1. Spark Spark 기반다양한분석
1. Spark Spark 의주요기능 구분모듈기능분야 핵심 Spark Core 맵리듀스와같은병렬처리및반복연산분산병렬처리 Spark SQL 하이브와같은 SQL 분석데이터웨어하우스 주요패키지 MLlib 마훗과같은머신러닝라이브러리데이터마이닝 GraphX 네트워크분석네트워크분석 Spark Streaming 스톰과같은스트리밍분석스트리밍 / 패턴인식 확장프로젝트 BlinkDB 빠른응답속도를가진 SQL 쿼리분석 Ad-Hoc 분석 SparkR 통계패키지인 R 과의통합통계분석
2. Spark 머신러닝 머신러닝프로세스와컴포넌트 프로세스 데이터 데이터 모델 모델 모델적용 획득 전처리 학습 평가 ( 정합성 )
2. Spark 머신러닝 Spark MLlib 알고리즘분류 분류및회귀 linear models (SVMs, logistic regression, linear regression) decision trees naive Bayes ensembles of trees (Random Forests and Gradient-Boosted Trees) isotonic regression 추천 (Collaborative filtering) alternating least squares (ALS) 군집 k-means, bisecting k-means, streaming k-means Gaussian mixture power iteration clustering (PIC) latent Dirichlet allocation (LDA) 차원축소 singular value decomposition (SVD) principal component analysis (PCA) 빈발패턴마이닝 (Frequent pattern mining) FP-growth association rules PrefixSpan
2. Spark 머신러닝 분류및회귀모델 구분 모델 Binary Classification Multiclass Classification Regression linear SVMs, logistic regression, decision trees, random forests, gradient-boosted trees, naive Bayes logistic regression, decision trees, random forests, naive Bayes linear least squares, Lasso, ridge regression, decision trees, random forests, gradient-boosted trees, isotonic regression
2. Spark 머신러닝 Spark MLlib 의예제
감사합니다.