빅데이터 분석 가시화 기술은 비 전문가가 데이터 분석을 수행할 수 있는 환경을 제공하는 분석도구 기술과 분석 결과를 함축적으로 표시하고 직관적인 정보를 제공하는 인포그래픽스 기술로 구성됩니다.

 

 인포그래픽스(InfoGraphics)

 

인포그래픽스는 Information Graphics의 합성어입니다지도다이어그램로고차트일러스트레이션 등을 활용하여 수 많은 정보를 쉽고빠르고정확하게 전달할 수 있게 만든 시각화 작업입니다중요한 정보를 한장의 그림으로 표현하여 이를 보는 사람들이 손 쉽게 해당 정보를 이해할 수 있게 만드는 기술입니다.

 

대표적인 분석도구 기술의 예로 R이 있으며인포그래픽스 기술로 InVis(An Interactive Visualization Framework for Massive Data supporting Multiple Users)가 있다.



R은 데이터 분석을 위한 통계 및 그래픽스를 지원하는 무료 소프트웨어 기반의 데이터 분석 엔진입니다그 뿌리는 벨 연구소의 S 언어에 두고 있으며, R S 언어를 근간으로 뉴질랜드의 오클랜드 대학교(University of Auckland)에서 로스 이하카(Ross Ihaka)와 로보트 젠틀맨(Robert Gentleman)이 만든 것이 그 시작입니다최근에는 하둡과의 연동을 지원하는 라이브러리로 인하여 빅데이터 분석과 데이터 마이닝 툴로 급격히 관심을 받고 있습니다.

 

언어

 

S는 벨 연구소의 존 챔버스와 릭 베커앨런 윌크스가 개발한 통계적인 프로그래밍 언어입니다존 챔버스의 말에 따르면이 언어의 목적은 개념을 소프트웨어에 빠르고 미덥게 전환하는 것” 입니다. S에는 두가지 종류가 있는데하나는 무료로 배포되는 R과 상용 버전인 인사이트풀(Insightful) S-PLUS입니다

 

R은 하나의 완성된 언어 체계이며자유롭게 데이터 분석을 R 안에서 수행할 수 있다는 장점이 있습니다또한 R은 통계머신 러닝금융바이오 인포머틱스그래픽스에 이르는 다양한 통계 패키지를 가지고 있으며이 모든 것이 무료로 제공됩니다.

 

무료이지만 기능면에서 상용 플랫폼들과 등등하거나 뛰어난 기능을 제공합니다윈도우(Window), (Mac), 리눅스(Linux) 등 대부분의 OS에서 동작하며 객체지향 특성과 함수형 언어의 특성을 모두 지원합니다또한 많은 통계학자들이 수 많은 함수를 무료로 공유하고 있습니다.

 

R의 가장 큰 장점은 우리가 생각하는 기능들을 이미 누군가가 패키지로 만들어 두었고 또한 누구나가 패키지로 만들어 공유할 수도 있습니다. R을 잘 사용하는 방법은 어떤 패키지를 선택하여 사용하면 되는지를 아는것입니다.

 

 

시각화의 중요성

빅데이터에서는 자료의 양이 방대해서 사람이 일일이 검토하는 것은 불가능에 가깝습니다분석 내용을 간단하게 평균표준편차 등의 요약된 통계량을 가지고서는 복잡한 문제를 설명하기에는 부족한 면이 많습니다또한 이를 기반으로 타인을 설득하기에도 한계가 있으며빅데이터 처리 플랫폼에서 분석 내용을 빨리 산출한다고 해도 사람들에게 분석 내용의 가치를 인정 받지 못하면 소용이 없습니다이로 인하여 데이터의 중요성을 고객에게 빠르게 설득시킬수 있는 데이터 시각화가 필요한 것입니다.

 

 

프로그래밍

R은 AT&T에서 개발된 S언어의 오픈소스 버전으로 약 20년이 넘는 역사를 가진 통계 컴퓨팅(Statistical Computing) 언어이며 데이터 시각화를 위한 훌륭한 환경입니다대표적인 함수형 언어인 Lisp에서 파생된 언어 특징을 포함하고 있으며그와 동시에 절차적인 문법구조도 지원하며 모듈화된 패키지 개발을 위해 객체 지향적인 요소들도 포함하고 있습니다특히나 함수형 언어의 특징 덕분에 간결한 코드를 구현할 수 있으며병렬화 처리 전환이 쉬운 장점이 있습니다.

 

Lisp 언어

 

리스프(Lisp, LISP) 혹은 리습은 프로그래밍 언어의 계열로서오랜 역사와 독특하게 괄호를 사용하는 문법으로 유명합니다. 1958년에 초안이 작성된 이 언어는 현재 널리 사용되는 두 번째로 오래된 고급 프로그래밍 언어입니다첫 번째가 포트란(Fortran) 입니다.

 

리스프는 본래 실용적인 목적 아래 컴퓨터 프로그램을 활용하여 수학 표기법을 나타내기 위한 목적으로 만들어졌습니다이러한 이유로 인공지능 연구소에서 가장 인기있는 언어가 되었습니다.

 

인테렉티브 쉘을 제공하고 있어서 코드 결과를 바로 실행해서 확인할 수도 있으며이로 인하여 정확하고 빠른 프로그래밍이 가능합니다. R은 분석 업무를 구석 구석 최고로 다룰 수 있는 툴과 같은 역할을 담당하며 통합 개발 환경(IDE)도 제공하고 있습니다.

 

메뉴 방식으로 분석을 수행할 수 있는 R-커맨더데이터 마이닝(Data mining)을 보다 편하게 할 수 있는 래틀(Rattle), 분석에 있어서 사용자의 편의성을 높인 레드(Red)-R, R 스크립트 작성을 보다 편리하게 할 수 있는 R 스튜디어엑셀과 쉽게 연동해서 분석할 수 있는 R-엑셀등의 부가적인 패키지들을 제공하고 있습니다.

 

프로그래밍에 대한 구체적인 내용은   ” 한글 문서를 참고해 주십시오.



R과 하둡(Hadoop)과의 연계

빅데이터의 분석을 위한 오픈소스 플랫폼인 하둡(Hadoop)은 페이스북아마존야후트위터 등에서 사용되면서 각광을 받고 있습니다. R은 하둡 스트리밍 기술을 활용하여 분산 처리에 기반한 데이터 분석 엔진으로 활용되어지고 있습니다특히 패키지 RHIPE(R and Hadoop Integrated Processing Environment)가 소개되며, R은 하둡에서 통계분석을 위한 엔진으로 자리를 잡았습니다


RHIPE(R and Hadoop Integrated Processing Environment)

 

RHIPE R과 하둡(Hadoop)을 통합한 프로그래밍 환경을 말합니다. R은 데이터 분석을 위해 널리 사용되는 인터랙티브 언어 및 환경입니다하둡은 대용량 처리 시스템입니다. RHIPE는 분석가가 복잡한 빅 데이터의 D&R 분석을 하둡과의 통신을 통하여 병렬 계산을 수행할 수 있습니다.

 

RHIPE는 두가지 목표가 있습니다첫 번째는 부적절한 데이터 감소를 통해 데이터에 중요한 정보를 잃지 않는 포괄적인 분석입니다두 번째 목표는 독점적으로 R 내에서 분석을 할 수 있도록 하고 낮은 수준의 언어로 프로그래밍 할 필요가 없습니다.




R을 활용하는 업체들

 

① Revolution Analytics

Revolution Analytics사의 Revolution R은 표준 R 환경에 기능 확장을 추가하여 병렬 분산 처리를 가능하게 하는 소프트웨어 제품을 판매하고 있습니다. R CRAN의 패키지등을 이용하여 병렬 분산 처리 환경을 구축할 수도 있지만Revolution Analytics R을 이용해도 동일한 환경을 구축할 수 있습니다.

 

 

② 오라클

Oracle R Enterprise라는 제품이 나와 있습니다. R 언어의 명령어, CUI 조작성은 그대로 유지하면서 오라클 데이터베이스에 접속하여 대용량 데이터를 이용한 통계 분석을 할 수 있습니다.

 

 

③ IBM 네티자(Netezza)

언어의 명령어, CUI 조작성은 그대로 유지하면서 Netezza 내부에 저장된 대용량 데이터에 대해 직접 통계 분석을 할 수 있습니다. Netezza 상의 R 언어는 분석 처리를 수식과 데이터에 대한 포인터로 보유하여 데이터 연산이 필요한 시점에 데이터를 불러와서 고속 병렬 처리를 할 수 있습니다.

 

 

④ SAP Sybase

SybaseIQ는 컬럼 지향 데이터웨어하우스(DW, Data Warehouse)의 대표 주자로 분석용 데이터웨어하우스로서 고속 성능을 기대할 수 있는 제품입니다또한 어플라이언스 제품이 아닌 소프트웨어 기반의 데이터웨어하우스이므로 확장성도 우수한 것으로 알려져 있습니다.

 

 

⑤ SAP HANA

독일 SAP사의 인-메모리(In-Memory) 데이터베이스 HANA R과의 연계 강화에 노력하고 있습니다. HANA DB 내부에서 R 스크립트를 실행할 수 있으며, R 언어가 가진 고급 통계 분석 기법을 HANA 상에서 이용할 수 있습니다.

 

 

 

R의 경쟁 제품들

R SAS, SPSS 등의 다른 통계 분석 소프트웨어의 가장 큰 차이점은 R은 오브젝트 기반 개체 지향 언어라는 것입니다.  또한 자바나 파이썬(Python), 닷넷비주얼 스튜디어 등의 다른 개발 플랫폼과 인터페이스를 위한 API(Application Programming Interface)를 제공해서 쉽게 연동이 가능합니다이를 통해서 패키지를 쉽게 구현할 수 있습니다.

 

 SAS

최근 R이 데이터 분석 소프트웨어로 주목을 받고 있지만 선두주자는 SAS라 할수 있습니다. SAS/IML을 이용하면 R에서 생성된 행렬 및 데이터 프레임을 SAS 데이터 셋으로 변환하거나 R 코드를 그대로 실행하여 결과를 SAS로 받아오는 것이 가능합니다.

 

 IBM SPSS

SPSS에서도 R 언어와의 연동을 가능하게 해주는 패키지를 보유하고 있습니다.

 

 

 

개발 참고 사이트


    홈페이지

http:://www.r-project.org

 

    소스코드

CRAN(Comprehensive R Archive Network) http://cran.r-project.org 에서 R의 소스코드 및 Windows, Linux, Mac OS X 용으로 컴파일된 바이너리 파일을 얻을 수 있습니다통계 분석에 특화된 패키지도 이곳에서 제공합니다.

 

    참고자료

 •       An Introduction to R

 •       Practical Regression and ANOVA in R

 •       R by Example

       UCLA’s R resources

'빅데이터 > 빅데이터 처리' 카테고리의 다른 글

정보 검색을 통한 데이터 수집  (0) 2017.08.03
RDBMS를 통한 데이터 수집  (0) 2017.08.03
얀(YARN)  (0) 2017.08.03
빅 쿼리(Big query)  (0) 2017.08.03
맵-리듀스(Map-Reduce)  (0) 2017.08.03

+ Recent posts