Next Revolution Toward Open Platform Technology Trends in Big Data Analytics and Introduction to R 넥스알 Data Science Team 유충현 (antony.ryu@nexr.com)
목차 Big Data Analytics의소개 Big Data Analytics의기술및시장환경 Hadoop 기반의 Big Data 분석플랫폼 Appliance DBMS Big Data Analytics 를위한 R 의소개 R RHive R 을이용한데이터분석의비교 Small Data Analytics using Native R Large Data Analytics using R Big Data Analytics using R -2- KRnet 2012
Big Data Analytics 의소개 정의 Big Data 를있는그대로탐색하여숨어있는 Detail 한비즈니스기회를찾아내는기술 Big Data 정의 (1) Big Data Analytics (2) 정의 Advanced Analytics, Discovery Analytics - Discovery of new business facts with plenty of detail (Big Data) Pareto s Law Long-Tail Law - 데이터를가공 (Sampling, Summary) 하면 Long-tail(Detail) 이사라지거나오차발생 Detail 한정보의손실없이 Big Data 를분석하는기술 (1),(2) TDWI RESEARCH 2011 4Q : Big Data Analytics. http://tdwi.org -3- KRnet 2012
Big Data Analytics 의기술및시장환경 춘추전국시대 Hadoop Data Scientist IBM Big Data Analytics RHive Distributed Computing R RHADOOP EMC SAP RHIPE Revolution R Oracle SAS -4- KRnet 2012
Big Data Analytics 의기술및시장환경 Cont Hadoop 기반의 Big Data 분석플랫폼 Product RHIPE RHadoop RHive map 작성 구조 R, Map/Reduce R, Map/Reduce R, Hive(Map/Reduce) [ RHIPE의구조 ] R reduce 작성 RHIPE HADOOP -5- KRnet 2012
Big Data Analytics 의기술및시장환경 Cont Appliance DBMS for Big Data Analytics 벤더제품 Analytics Engine Oracle IBM Big Data Appliance Exadata InfoSphere BigInsights Netezza Appliance Oracle R Enterprise (R) Revolution R, SAS, SPSS 연동 Teradata Aster Discovery Platform SQL-Map/Reduce, SAS, R EMC Greenplum Data Computing Appliance Java, R SAP [ 특징 ] HANA (In memory Appliance) Not Big Data R 연동사례 Appliance DBMS & Hadoop Hadoop보다는 Appliance DBMS에치중 Analytics Analytics Product을 DBMS Product 내부에포함시키고있음 Analytics Engine은공통적으로 R을사용 -6- KRnet 2012
Big Data Analytics 의소개 재정의 물리적제약으로인해다루지못했던데이터리소스들의집합 [ Visualization 의중요성 ] 가치의인식 [ 데이터의질적향상 ] 데이터의질적향상 새로운 Insight 도출 데이터 양 RAW Sample Summary 통합데이터 New Feature 데이터질 -7- KRnet 2012
Big Data Analytics 의소개 성공을위한요인 Big Data Platform 데이터처리의한계극복 수집, 가공, 저장, 분석기능 필요조건, 충분조건은아님 Domain Expert 아이디어, 방향성제시 업무의이해, 데이터의이해 현업담당자 + 시스템담당자 Data Scientist Multiplayer, 도전정신 전처리, 분석, 경험 -8- KRnet 2012
Big Data Analytics 를위한 R 의소개 R RHive -9- KRnet 2012
R 의소개 R 이란 R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R. 태동전파확산 Bell Lab Commercial GNU/Open source O/S UNIX BSD/System V HP, IBM, SUN LINUX Application Analysis System The S system S-PLUS R Packages 1976 년 Bell Lab 태생 1988 년라이센스양도 1993 년도오픈소스화 -10- KRnet 2012
R 의소개 장단점 R? Free? Free Analytics Software 분석의자유 생각하는분석기법은모두지원한다. (4,000 여개이상의패키지 ) 최신분석기법의제공및자유로운분석환경제공 배포의자유 자유로운 " 실행, 복사, 수정, 배포 " 의권리를갖는사용허가권 비용의자유 무료소프트웨어 ( 단, 소프트웨어업체의 R 을이용한저작물은비용발생가능 ) [ R 의장점및단점 ] 구분장점단점비고 In-Memory 구조연산수행속도빠름대용량데이터분석불가상용 R 시스템 Open Source 저렴한비용 시스템통합용이 교육, 기술지원지원부족 시장형성기 Language 구조 알고리즘구현용이 Detail 분석가능 프로그램능력이필요함 S3, S4 Spec -11- KRnet 2012
R 의소개 statistical computing 주요통계계산기능 통계량 / 기초통계 통계분석 마이닝분석 시뮬레이션 수치해석 EDA(Exploratory Data Analysis) Summary 전통적인통계분석방법론 최신통계분석방법론, Spatial, Bayesian 통계등 Decision Tree, SVM, Clustering, WEKA interface 모형시뮬레이션 Operation Research 미분, 적분, 행렬대수 근사값계산, Optimization 교육대학 / 대학원교육 대학및대학원에서의통계교육의표준으로사용 업계의활용 활용프로젝트 분석업무활용 제품개발 Bioinformatics 프로젝트 Finmatrics 프로젝트 Google : Google Analytics(SaaS) 에 R을사용 Facebook, Yahoo 등회사에서내부분석용도구로활용 Oracle, Teradata, EMC 등업체의 DBMS 내분석툴로제공 BioConductor Project 460 이상의 Packages 게놈, Bio, 신약연구등 Bioinformatics 의표준통계분석언어 금융예측분석에사용, 여러가지금융예측모형구현 -12- KRnet 2012
R 의소개 graphics Edgar Anderson's Iris Data 2.0 3.0 4.0 0.5 1.5 2.5 volcano data: filled contour map Sepal.Length 4.5 5.5 6.5 7.5 1.0 0.8 180 2.0 3.0 4.0 Sepal.Width Petal.Length 1 2 3 4 5 6 7 0.6 0.4 0.2 160 140 120 0.5 1.5 2.5 Petal.Width 0.0 0.0 0.2 0.4 0.6 0.8 1.0 100 4.5 5.5 6.5 7.5 1 2 3 4 5 6 7 SNA SPLOM Contour WordCloud GoogleVis RGL -13- KRnet 2012
R 의소개 Populations Kdnuggets Poll : Language for DM Kaggle : Tool of competitors http://blog.revolutionanalytics.com/2011/ 11/r-still-the-preferred-tool-of-predictivemodelers-competing-at-kaggle.html http://www.kdnuggets.com/2011/08/polllanguages-for-data-mining-analytics.html -14- KRnet 2012
RHive 의소개 Hive http://hive.apache.org A data warehouse system for Hadoop Open Source (Apache License) ANSI SQL Support Facebook의 Main Data Warehousing System -15- KRnet 2012
RHive 의소개 정의 가장대중적인분석도구인 R 과검증된대용량분산 DW 시스템인 Hive 를결합한 Big Data 고급분석플랫폼 Language : R and ANSI-SQL R-Hive Bridge R Package R 기반분산처리 Framework Population Analytic Tool CRAN : 4,000+ Rich R library 용이한 Library 제작 Rich Visualization, IDE ANSI SQL : Low Learning Cost Hadoop 기반분산병렬처리 용이한기능확장 : UDF, UAF NexR Add-on -16- KRnet 2012
RHive 의소개 Architecture -17- KRnet 2012
RHive 의소개 Syntax HDFS interface Hive query interface (SQL) Map/Reduce Programming with R (R) -18- KRnet 2012
RHive 의소개 IDE RStudio -19- KRnet 2012
RHive 의소개 해외컨퍼런스발표 세계최고의국제 R 사용자학술컨퍼런스인 UseR! 2012에채택발표 (2012/06/13, USA, Nashville) http://biostat.mc.vanderbilt.edu/wiki/main/user-2012 The 8 th International R User Conference Vanderbilt University; Nashville, Tennessee, USA12 th -15 th June 2012 Google, Oracle, Revolution Analytics 및제약회사등 R&D 회사들 및분석관련회사의분석솔루션방법론및연구결과등발표 통계, 컴퓨터사이언스등분석관련리딩그룹의청중들이참석 데이터분석의전분야의학술적연구, 현업사례, 분석을위한 R 언 어개선안을함께다루는데이터분석분야의가장주목받는학회 -20- KRnet 2012
R 을이용한데이터분석의비교 Small Data Analytics using Native R Large Data Analytics using R Big Data Analytics using R -21- KRnet 2012
Small Data Analytics using Native R In-Memory Classification Tree Model iris : 150 건, 5 개변수 R Script Tree Chart > library(tree) > ir.tr <- tree(species ~., iris) > summary(ir.tr) Classification tree: tree(formula = Species ~., data = iris) Variables actually used in tree construction: [1] "Petal.Length" "Petal.Width" "Sepal.Length" setosa Number of terminal nodes: 6 Residual mean deviance: 0.1253 = 18.05 / 144 Misclassification error rate: 0.02667 = 4 / 150 > plot(ir.tr) > text(ir.tr) Petal.Length < 2.45 Petal.Length < 4.95 Sepal.Length < 5.15 versicolor versicolor virginica Petal.Width < 1.75 Petal.Length < 4.95 virginica virginica -22- KRnet 2012
Large Data Analytics using R In-Disk / Memory Index Data 를 Disk 에 Load 메모리에는 Disk 의 Data 영역 Index 정보가올라감 Data 를 Loading 하는작업필요, 별도의분석라이브러리개발필요 [ 개념도 (ff Package 예시 ) ] [ 대표적인 Packages ] Package 명 bigmemory ff RevoScaleR 비고 분석용 Package (biganalytics) 분석용 Package (ffbase) 상용 (Revolution Analytics) -23- KRnet 2012
Large Data Analytics using R bigmemory Example Script airline : 123,534,959 건, 29 개변수, 11GB 29 개변수의산술평균구하기 Ubuntu linux 64Bit/ i7(dual) / 8G (Notebook) > library(bigmemory) > airline <- read.big.matrix("/home/antony/anal/airline.csv", header=t, + backingfile="airline.bin", descriptorfile="airline.desc", type="integer", + backingpath="/home/antony/anal/back/") > library(biganalytics) > colmean(airline, na.rm=t) WeatherDelay NASDelay SecurityDelay LateAircraftDelay 7.883406e-01 4.103548e+00 2.670679e-02 4.756176e+00 작업 데이터로드 산술평균 수행속도 33m 17s 2m 38s -24- KRnet 2012
Big Data Analytics using R RHive - Visualization Visualization 으로 Long-Tail 파악한다. XX 데이터 (2011-01-01~2012-04-30, 16 개월로그데이터 ) hivequery 함수, aggregate 함수, heatmap 함수이용 -25- KRnet 2012
Big Data Analytics using R RHive Enterprise Analytics RHive 를이용한 KT Cloud 로그분석의사례 Cloud 시스템운영에필요한모니터링정보제공 자원사용기반사용자군집분석 (RHive KMeans) 사례 -26- KRnet 2012
Q&A -27- KRnet 2012