빅데이터 분석을 위한 통계 프로그래밍 R 오 승 근 2013. 10. 21
CONTENTS 1 2 3 4 5 6 7 데이터 분석 변화와 R의 위치 R의 특징 R을 이용한 트위터 분석 예제 Hive R Streaming 7 연구 방향 및 결론
데이터 분석 변화와 R의 위치 데이터 업무 패턴의 변화 단순 통계 분석가에서 데이터 과학자로의 변화가 필요
데이터 분석 변화와 R의 위치 데이터 분석에서의 R의 위치
Interactive Data Analysis
데이터 분석 변화와 R의 위치 빅 데이터 플랫폼과 분석가 빅 데이터 플랫폼 데이터 분석가 (과학자)
데이터 분석 변화와 R의 위치 역동적인 분석에 적합한 언어 R 배열 및 행렬로 표현된 데이터에 대하여 효과적인 연산자를 이용해 자료의 분석, 시뮬 레이션 및 시각적 표현에 유용한 객체지향적 프로그램 R 프로그래밍 언어는 SAS, SPSS, MINITAB,..., 등과 같은 통계 소프트웨어이며, 통 계 계산과 그래픽을 위한 프로그래밍 언어이자 소프트웨어 환경 최근 빅 데이터의 태동과 함께 급부상하고 있으며, 빅 데이터의 전성기가 사그라져도 대표적인 기본 데이터 분석 툴로 확고 부동할 것으로 예상 되고 있음
R의 특징 최대의 자유로 최대의 혁명을 누림
단순 통계 분석 소프트웨어를 빅 데이터 분석 언어로... R의 특징 단순 통계 분석 소프트웨어를 빅 데이터 분석 언어로...
R의 특징 다양한 패키지(라이브러리) 제공 4500여개의 패키지, 31개의 종류
R의 특징 Why R? R은 공짜다. R은 문서화가 잘 되어 있다(패키지 마다 매뉴얼 제공).
R을 이용한 트위터 분석 예제 R 기반 트위터 분석 방법 R 기반 트위터 분석 방법 과거의 트위터 분석 방법
R 설치 환경 선택 및 주의사항 R 설치 환경 및 시스템 설계 시 주의 사항 (더욱이 로케일 문제 발생으로 인하여 시간이 흐를 수록 문제가 발생) 맥 : 서버가 아닌 랩탑에서 실무 분석을 한다면 가장 좋은 선택 리눅스 : R 튜닝이 가능하다면 가장 좋은 선택! 그리고 빅데이터 분석을 위해선 필수! 빅 데이터 분석 서비스 제공을 위한 시스템 구현 시 클라이언트-서버 모두 리눅스 환경으로 통일해야 하며, 서버에서 사용되는 패키지도 클라이언트에 함께 배포가 되어져야 함
R-Studio User Interface
R의 자료구조와 한계점 R의 자료 구조 – 통계계산에 최적화 패키지마다 자료 구조 형태가 다르나 겁먹지 말자! – 패키지 + 쿼리로 해결!
R의 자료구조와 한계점 R의 한계점 단순 병렬처리 패키지(mclapply)와 코드 최적화로 문제 해결 필요!
Hive R Streaming Hive http://hive.apache.org A data warehouse system for Hadoop Open Source (Apache License) ANSI SQL Support Facebook의 Main Data Warehousing System
Hive R Streaming Why Hive R Streaming? 목표 : 인터넷 몰에서 수천만 고객이 만든 앱 접속 로그를 기반으로 고객별 접속 시간과 접속 위치 로그로 이 사람이 주로 접속하는 시간과 위치를 클러스터링 하고 싶다. 조건 : 당신네 회사는 수십대 이상의 Hadoop(Hive) 클러스터를 가지고 있다. 각 사용자마다 몇 개의 클러스터로 나눌 것인가? 실제 위치와 시간 정보가 클러스터 중심으로 도출되어야만 함 R에 pamk알고리즘이 이에 해당하나 모든 고객 로그를 올려서 분석할 수 없다. 답 : Hive + R Streaming (R은 언제나 마지막 깃발을 꽂는 역할만을 수행!)
Hive R Streaming Example DBMS와 같이 테이블 형태로 데이터를 읽어와서 처리 (SQL 구문에 익숙한 자라면 쉽게 사용 가능)
Hive R Streaming Example R에서는 id를 통하여 접근
Hive R Streaming Example 결과 도출 후 plot 지원 패키지를 이용하여 표현
Hive R Streaming Example 결과 도출 후 plot 지원 패키지를 이용하여 표현
Hive R Streaming Example 결과 도출 후 plot 지원 패키지를 이용하여 표현
Hive R Streaming Example 오픈된 Map-API(Google Map, Naver Map 등)를 이용항 지도에 표현한 결과
Hive R Streaming 빅 데이터 시스템 구성 환경 예제
분석가가 Map/Reduce를 알아야 하는가? Hive R Streaming 분석가가 Map/Reduce를 알아야 하는가?
연구 방향 및 결론 현재의 연구 방향 및 결론 연구 환경 : 서버 구성에 따라 빅데이터 분석 연구 방향이 정해지므로, 신중히 결정 필요 고가의 서버 가상화 시스템으로 연구 방향 진행 하드웨어 스펙을 최대한 높게 잡은 후 가상으로 메모리 분할에 따른 결과 스케쥴링 필요 고가의 하드웨어로 인하여 싱글 머신에서 돌릴 경우 GPU 사용 불필요 중저가 또는 데스크탑 조립형 서버 실제 분산 환경의 흐름 파악 용이 가상화가 아닌 리얼 환경에서의 결과물 분석 필요 단, 스펙 높을 경우 데이터 결핍으로 인하여 연구 결과에는 악영향을 줄 가능성이 있음 유지보수를 위한 인력 충원 필요 (학부생의 졸업 프로젝트와 연동 가능성 고려) 리눅스 환경으로 인하여 Hadoop과 같은 분산 처리 기술과 R 프로그래밍 학습이 어려우나 좋은 연구주제가 될 것으로 판단 됨
연구 방향 및 결론 현재의 연구 방향 및 결론 연산 수행 시간 알고리즘 및 QoS 연산 하드웨어 증설에 따른 연산 수행 시간 측정(sec.) 각 스케쥴링 방법에 따른 연산 수행 시간 측정(sec.) 데이터 규모 증가에 따른 연산 수행 시간 변화 측정(sec.) 쿼리 응답 시간 측정(sec.) 알고리즘 및 QoS 데이터(멀티미디어 데이터) 성향에 따른 처리 방법 멀티미디어 로그 데이터 구성 및 가공 전략 수립 분석된 데이터의 결과 분석
연구 방향 및 결론 현재의 연구 방향 및 결론 빅데이터 분석은 새로운 개념이 아닌 기존 전산 기술의 집합체 그럼에도 불구하고 현재까지의 연구는 굉장히 초기 단계의 연구들이 대부분 (Watch Dog, Load Balancing, Resource Leveling 등이 필요함에도 불구하고... ) 빅 데이터 이슈와 관련하여 연구를 하고자 하면 LINUX와 Hadoop은 반드시 짚고 넘어갈 문제 최종 목표 달성을 위해서는 머하웃과 R을 지켜봐야할 것으로 예상 됨 (아직 까지는 R이 선전 중)
감사합니다.