[빅데이터 분석 방법론의 개요] 


분석은 얽혀 있거나 복잡한 것을 풀어서 개별적인 요소나 성질로 나누는 것입니다. 분석이란 새로운 개념이 아니며  이미 오래 전부터 여러 영역에서 효과적으로 활용해왔죠. 여러가지 의사결정이나 비즈니스 성과 향상에 도움을  줄 수 있는 정보나 지식을 추출하기 위해서는 빅데이터 안에 숨겨져 있는 정보를 효과적으로 분석할 방법을  선택해야 합니다. 특히나 비즈니스에서는 다양하고 많은 분석을 선택하고 수행합니다. 최고의 이익을 낼 수 있는  의사결정을 위함인데요. 정보가 많아질수록 선택의 폭은 무궁무진해지고 있어 점점 다양한 분야에서 빅데이터를  분석하고 있습니다. 목적과 상황에 맞게 적절한 분석방법을 선택하는 것이 매우 중요한데요. 정형 및 비정형의  다양한 형태를 가지는 빅데이터를 분석할 수 있는 방법론은 많지만, 전체적으로 빅데이터를 어떻게 분석할 것인가를  잘 결정해서 분석할 필요가 있습니다.





1. 빅데이터분석


빅데이터 분석이란 대량의 데이터로부터 숨겨진 패턴과  알려지지 않은 정보를 찾아내기 위한 과정입니다. 빅데이터 분석의 목적은 데이터 과학자들에 의해 분석된 정보를  토대로 각 분야의 의사결정을 수행하는 것입니다. 빅데이터 분석은 개인이나 기업 등에서 자료를 토대로 어떠한  의사결정을 할 때에 중요한 정보로써 사용되기 때문에 최선의 대안을 선택할 수 있도록 근거를 제시하는 중요한  역할을 합니다. 그래서 불확실성이 높고 의사결정이 초래하는 파급효과가 큰 의사결정일수록 실제 데이터 분석을  바탕으로 의사결정을 해야 합니다. 실제로 비즈니스 전략으로써 많은 기업에서 본능적인 비즈니스 감각보다는  빅데이터를 활용하여 주요 의사결정을 내리고 있습니다. 효과적인 빅데이터 분석을 위해서 일반적으로 빅데이터 분석 플 랫폼을 구축하는 경우가 많습니다. 빅데이터 분석은 더 짧은 시간 안에 보다 많은 정보를 빅데이터로부터 추출하는  것을 목표로 합니다. 빅데이터 분석을 위해 크게 데이터 마이닝과 예측 분석 등등이 고려되며, 관련기술로는 NoSQL,  데이터베이스, 하둡과 맵리듀스 등이 있습니다. 데이터 마이닝이란 대용량의 데이터베이스에 저장된 데이터에 숨겨진  중요한 정보와 지식을 추출하는 기술입니다. 예측 분석이란 현황 정보 대신 예측 정보를 제공할 수 있는 분석을  의미합니다.  빅데이터 분석이 가능하려면 기본적으로 NoSQL과 데이터베이스와 같은 빅데이터 저장기술과 하둡 및  맵리듀스와 같은 빅데이터를 분석하기 위해  필요한 처리를 수행하는 기술들이 필요한데 이러한 기술들을  빅데이터 분석 관련 기술이라 부르겠습니다.


 

빅데이터분석진행

 빅데이터 시대에 접어들며 데이터를 보다 효율적으로 정확하게 분석하고 비즈니스 등의 영역에 적용하려는 노력이  꾸준히 진행되고 있습니다. 분석은 새로운 개념이 아니며 이미 오래 전부터 여러 영역에서 효과적으로 활용해온  기술입니다. 일반적으로 분석은 단계적으로 진행되는데, 예를 들어, 마케팅 조사에서의 분석은 마케팅 조사 연구의  목적, 조사 연구 설계, 표본 설계, 자료 수집, 자료 분석, 결과 제시 등의 일반적인 단계로 진행됩니다.  마케팅 조사 연구의 목적이 시장 조사인지 아니면 고객의 요구사항 파악인지 분명히 하고 목적에 맞게 어떻게 조사를  하고 어떤 데이터를 확보하고 어떻게 분석할지를 연구설계를 해야 합니다. 조사 데이터 수집 방법과 관련하여  데이터 샘플을 어떻게 취할 것인지 표본을 설계한 후 자료 수집을 합니다. 자료 수집후 통계적 분석 방법이나  과학적인 분석방법을 사용하여 자료를 분석하고 이후 결과를 제시합니다. 





2. 비지니스에서의 분석 수행 과정


 

분석 수행단계(Forrester)

시장 조사기관인 포레스터 리서치는 비즈니스에서의 분석을 수행하는 과정이 다음과 같은 단계를 거친다고  하였습니다. 첫 번째는 문제인식입니다. 문제가 무엇인지, 왜 이 문제를 해결해야 하는지, 문제 해결을 통해 무엇을  달성할 것인지를 명확히 하는 단계이고, 두 번째는 관련 연구 조사 단계입니다. 관련 연구 조사 단계에서는 문제와  직간접적으로 관련된 지식을 잡지나 책, 보고서, 논문 등과 같은 각종 문헌을 조사하면 문제를 더욱 명확히 할 수  있을 뿐 만 아니라 문제와 관련된 주요 요소 즉, 변수들을 파악할 수 있는 단계입니다. 세 번째는 모형화단계입니다.  변수 선정 단계라고도 하는데요. 모형은 문제 즉 연구 대상를 의도적으로 단순화한 것을 말하며, 모형화는 문제와  본질적으로 관련된 변수만을 추려서 재구성하는 단계입니다. 네 번째는 자료 수집 단계입니다. 변수 측정 단계라고도  합니다. 이 단계에서는 인식된 문제가 모형화를 통하여 주요 변수로 재구성되고 측정이라는 과정을 거치면서 자료가  됩니다. 1차 자료는 조사자가 관찰, 설문조사, 실험을 통하여 직접 자료를 수집하는 것이며, 2차 자료는 다른 사람에  의해 이미 수집, 정리되어 있는 자료입니다. 다섯 번째는 자료분석단계입니다. 자료 분석 단계에서는 나열된  숫자에서 변수 간의 규칙적인 패턴, 즉 변수간의 관련성을 파악합니다. 마지막으로 결과 제시 단계에서는 자료 분석   결과가 의미하는 바를 해석하여 의사결정자에게 구체적인 조언을 하는 단계입니다. 이와 같이, 비즈니스에서의  분석은 단계적 과정을 거쳐 수행되는 것으로, 단계적인 과정 수행을 충실하게 함으로써 좋은 분석을 할 수  있습니다. 



빅데이터 분석 분류

빅데이터 분석은 비즈니스 분석과 고급 분석으로 분류할 수 있습니다. 비즈니스 분석은 현재의 현상과 결과적인  관점을 제시하는데 초점을 두는 것으로 기업의 품질부서에서 현재의 품질수준 실적에 대해 집중적으로 분석할 경우가  이에 해당합니다. 고급 분석은 대용량의 데이터로부터 숨겨진 패턴을 발견하고 상황을 예측하는 것입니다.  그리고 비즈니스 혹은 그 밖의 상황을 예측하고 효율적인 의사결정을 지원하기 위해 구조화 및 비구조화된 복잡한  형태의 데이터 요인들 간의 상관관계 확인과 의미 있는 데이터의 패턴을 식별하고 예측하기 위한 모든 기법과  기술들을 포괄합니다. 더불어 미래의 품질 수준이 어떻게 될지 예측할 수 있는 모델에 근거하여 예측하는 것도 이에  해당합니다. 




3. 빅데이터분석 도구


 

R 프로그래밍언어

빅데이터 분석 도구로서 R 프로그래밍 언어, 빅쿼리, 프레스토 등이 활용되는데요. 먼저 R 프로그래밍 언어에 대하여  알아보겠습니다. R 프로그래밍 언어는 오픈소스 프로젝트로 통계 계산 및 시각화를 위한 언어 및 개발 환경을  제공합니다. 이를 통해 기본적인 통계 기법부터 모델링, 최신 데이터 마이닝 기법까지 구현이 가능합니다.  그리고 R 프로그래밍 언어는 통계적 컴퓨팅 언어로 다양한 통계 분석에 용이합니다. 현재 R 프로그래밍 언어를  이용하여 다양한 빅데이터 분석 및 예측 분석 등을 포함한 고급 분석 기술들이 연구 및 개발되고 있습니다.  R 프로그래밍 언어의 장점 중에 하나는 사용자가 제작한 패키지를 추가하여 기능을 확장할 수 있다는 것입니다.  핵심적인 패키지는 R 프로그래밍 언어와 함께 설치되며, CRAN을 통해 700개 이상의 다양한 기능을 가지는 패키지를  내려 받을 수 있습니다.

 CRAN은 the Comprehensive R Archive Network의 줄인말입니다. R 프로그래밍 언어의 또다른  강점은 그래픽 기능으로 수학 기호를 포함할 수 있는 출판물 수준의 그래프를 제공한다는 것입니다



빅쿼리(BigQuery)

빅쿼리는 구글의 대용량 데이터를 처리할 수 있도록 개발된 쌍방향 서비스입니다. 사용자 혹은 개발자 등은 SQL과  같은 익숙한 쿼리문 등을 이용해 인사이트를 전달할 수 있습니다. 일반적으로 SQL문 이라고도 불리는 쿼리문이  작성됩니다. 여기서, 쿼리문이란 데이터베이스에 저장된 값을 불러내기 위한 것입니다. 절차적 언어로 작성  프로그램 문장을 말하는 거죠. SQL은 Structured Query Language 의 약자로서 구조화된 절차적인 데이터베이스  언어입니다. 빅쿼리는 어떻게 이용할까요? 빅쿼리는 먼저 이용자가 데이터 세트를 구글 시스템에 업로드 하고,  빅쿼리 API를 이용하여 이에 대한 쿼리를 던지는 방식으로 이용할 수 있습니다. 그리고 빅쿼리는 구글이 자체  데이터센터가 없는 기업도 쉽게 데이터를 분석할 수 있는 환경을 만들기 위해 출시한 것이었습니다. 빅쿼리를  이용하면 웹 광고나 실시간 관리 시스템, 온라인 게임의 데이터 현황을 쉽게 관리할 수 있게 되는데요. 예를 들어  제약회사는 빅쿼리를 이용하면 전세계 판매량과 광고 데이터를 바탕으로 일일 마케팅 최적화 전략을 세울 수 있게  되고, 사용자 클릭을 바탕으로 제품 권고 사항을 만드는 일도 쉬워진다고 합니다. 




프레스토(presto)

마지막으로 프레스토는 페이스북에서 개발한 빅데이터 분석 도구로써 하둡을 위한 SQL 처리 엔진입니다. 페이스북은 300페타바이트에 달하는  엄청난 내부 데이터를 분석하려고 프레스토를 만들었습니다. 이는 데이터 분석가가 기존의 SQL 언어로 대용량의  데이터를 대화형 분석을 수행할 수 있도록 해줍니다. 페이스북은 이 도구가 기존에 많이 쓰는 하이브/맵리듀스보다  CPU 효율성과 대기 시간이 10배나 빠르다고 설명했습니다.






[플랫폼을 활용한 빅데이터 분석방법론]


빅데이터 분석 플랫폼을 활용하여 수집 및 저장 된 데이터를  분석하여 서비스를 개발하고 통찰력을 끌어내는 작업을 수행하는데요. 여기서 말하는 통찰력이란 주어진  데이터 분석을 통해 전체적인 상황을 한번에 파악할 수 있는 능력을 의미합니다. 이를 위해, 우선 분석 계획을  수립하고, 분석 환경을 구축한 후 분석 서비스를 운영하는 단계로 진행합니다. 그럼 각 단계별로 살펴보겠습니다. 




1. 빅데이터 분석 플랫폼 활용


먼저 분석 계획 수립 단계입니다. 이 단계에서는 빅데이터를 분석하기 전에 분석결과를 통해 해결하고자 하는 문제를  명확히 정의하고 분석절차, 기법 등을 포함한 세부 시나리오를 마련해야 합니다. 그리고 분석에 필요한 인프라 구축  조건 등 분석환경을 조사하여 자체 구축 및 외부 인프라 활용여부를 결정해야 합니다. 자체구축의 경우에는  빅데이터 분석과 활용을 위해 분석 시스템과 운영환경을 기관 내에 구축하는 방식인데요. 내부 데이터의 관리 정책과  보안문제로 외부 서비스를 활용하기 어려운 경우나 분석 요구사항을 외부 서비스 기관에서 지원하지 못하는 경우에  대해 적절한 대응책이 필요합니다. 외부활용의 경우는 외부 분석업체의 분석 서비스를 활용하는 방식으로 외부 분석  시스템의 기능과 분석 품질이 활용 목표 수준에 부합할 경우에 대한 대응책이 필요합니다. 세부 추진 계획을 위해  분석 목적, 분석 방법론, 분석 시나리오 작성, 분석 인프라 구축 방식 및 운영예산 등을 수립해야 합니다.  분석 환경구축 단계에서는 하드웨어와 소프트웨어를 구축해야 합니다. 즉, 빅데이터 수용 용량 및 분석작업에 대한  부하 등을 감안하여 하드웨어 인프라를 구축해야 하고, 분석에 필요한 수집, 관리, 분석, 이용자 환경 등 관련한  소프트웨어를 구축해야 합니다





2. 데이터 분석에 활용되는 기법


분석용도에 따른 데이터 분석기법


(1) 통계적분석

데이터 분석에 활용되는 기법은 분석용도에 따라서 여러 가지가 활용 되고 있습니다. 먼저 통계적 분석 은 전통적인  분석 방법으로 주로 수치형 데이터에 대하여 확률을 기반으로 어떤 현상의 추정, 예측을 검정하는 기법으로  기술통계량, 상관분석, 회귀분석, 분산분석, 주성분분석 등이 대표적인 통계적 분석 기법입니다. 각 분석을 좀 더  자세히 알아보겠습니다. 


기술통계량 은 대표적으로 산술평균, 중앙값, 최빈값을 포함하는 평균, 분산, 표준편차 등을  구하는 것입니다. 이러한 값들을 통해 전체 데이터 그룹이 주로 어디에 위치하고 있으며 이를 중심으로 얼마나  산포를 가지는지를 확인할 수 있습니다. 평균이란  데이터 집합의 중심적인 경향을 표현하는 값으로 전체 데이터의  합을 전체 데이터 개수로 나누어 산출합니다. 분산은 평균을 중심으로 각각의 데이터 들의 편차를 구하고 편차의  제곱을 모두 더한 후 전체 데이터 개수에서 하나를 뺀 값으로 나눈 값입니다. 표준편차는 분산 값의 제곱근으로  산포를 의미합니다. 


상관분석 은 두 변수간에 어떤 선형적 관계를 갖고 있는지를 분석하는 방법입니다. 즉, 하나의  변수가 증가할 때 비례 또는 반비례적으로 다른 한 변수가 증가 또는 감소하는 정도를 규명하는 것입니다.  이 방법으로 분석하면 서로 관계를 가지는 변수들을 찾아 낼 수 있습니다. 


회귀분석 은 연속형 변수들에 대해 독립변수와 종속변수 사이의 상관관계에 따른 수학적 관계식을 구하여 어떤  독립변수가 주어졌을 때 이에 따른 종속변수를 예측하는 방법입니다. 회귀분석을 통해 종속변수 값을 예측할 수 있는  수학적 모델식을 구성하고 이를 통해 특정한 독립변수의 값을 가지는 경우에 종속변수의 값을 예측할 수 있습니다.   여기서 독립변수는 종속변수에 영향을 주는 요인을 가지는 변수이고 종속변수는 독립변수의 값에 의해  종속적으로  영향을 받는 변수입니다. 연속형 변수는 독립변수와 종속변수가 일반적으로 연속형의 값을 가지는 경우입니다. 


분산분석은 3개 이상의 집단에 있어서 평균치 차이가 존재하는지를 통계적으로 검정하고자 할 때 사용할 수 있는  분석방법입니다. 분산분석 은 통계분포 중 F분포를 이용하여 집단간 평균치 차이가 있는지를 가설검정 합니다.  F분포란 두 개 이상 다수의 집단을 비교하고자 할 때 집단 내의 분산, 총평균과 각 집단의 평균의 차이에 의해 생긴  집단 간 분산의 비교를 통해 만들어진 것입니다. 분산분석을 통해 다수의 집단에 있어서 평균치가 차이가 있는지  유의성을 판정할 수 있습니다.


주성분분석 은 다양한 변수들에 대해 분석하는 다변량(Multivariate)  분석으로 많은 변수들로부터 몇 개의 주성분들을 추출하는 방법입니다. 따라서 주성분 관리를 통해 많은 변수들을  관리할 수 있는 관리의 로드가 줄어들 수 있습니다. 



(2) 데이터마이닝

데이터 마이닝은 대용량 데이터로부터 패턴인식, 인공지능, 고급 통계분석 기법 등을 이용하여 숨겨져 있는  데이터간의 상호 관련성 및 유용한 정보를 추출하는 기술입니다. 데이터 마이닝은 기존 데이터베이스에  마이닝 기술을 적용하여 이들 데이터 간에 숨은 의미 있는 관계성을 다양한 방법으로 발견한 후 이를 현실에  효과적으로 적용하는 방법론으로 사용됩니다.  



(3) 텍스트 마이닝

텍스트 마이닝은 텍스트 기반의 데이터로부터 새로운 정보를 발견할 수 있도록 정보 검색, 추출, 체계화, 분석을 모두 포함하는 Text-processing 기술 및 처리 과정입니다. 텍스트 내에 존재하는 단어의 등장횟수 등을 평가하여 문서간의 유사성을 수치화 하는 텍스트 데이터를 분석하는 방법입니다. 다시 말해 유사 문서 분류 및 문서 내 정보 추출과 같은 결과를 산출할 수 있는 것입니다.



(4) 소셜 네트워크 분석

마지막으로 소셜 네트워크 분석은 대용량 소셜 미디어를 언어분석 기반 정보 추출로 탐지하고, 시간의 경과에 따라 유통되는 이슈의 전체  과정을 모니터링하고 향후 추이를 분석하는 기술입니다. 소셜 네트워크 연결 구조 및 연결 강도 등을 바탕으로  사용자의 명성 및 영향력을 분석하는 기술로써, 주로 마케팅을 위하여 소셜 네트워크 상에서 입소문의 중심이나  허브 역할을 하는 사용자를 찾는데 활용됩니다. 또한 수학의 그래프 이론을 이용하여 소셜 네트워크의 연결 구조와  연결 강도 등을 바탕으로 사용자의 영향력을 측정합니다. 텍스트 마이닝 기법에 의해 주로 이루어지고 있으며  확산된 내용과 함께 연결의 맥락을 파악하여 분석하는 기법입니다. 



(5) 평판 분석

텍스트 마이닝의 관련 분야로는 평판 분석(Sentiment Analysis)  혹은 오피니언 마이닝이라고 불리는 기술이  있습니다. 이러한 오피니언 마이닝은 소셜미디어 등의 정형/비정형 텍스트의 긍정(Positive), 부정(Negative),  중립(Neutral)의 선호도를 판별하는 기술로 특정 서비스 및 상품에 대한 시장규모 예측, 소비자의 반응, 입소문 분석  (Viral Analysis) 등에 활용되고 있습니다. 정확한 오피니언 마이닝을 위해서는 전문가에 의한 선호도를 나타내는  표현/단어 자원의 축적이 필요합니다. 



(6) 군집 분석

군집 분석(Cluster Analysis)은 비슷한 특성을 가진 개체를 합쳐가면서  최종적으로 유사 특성의 군(Group)을 발굴하는데 사용됩니다. 예를 들어 트위터 상에서 주로 사진/카메라에 대해  이야기하는 사용자 군이 있을 수 있고, 자동차에 대해 관심 있는 사용자 군이 이에 해당합니다. 이러한 관심사나  취미에 따른 사용자 군을 군집 분석을 통해 분류할 수 있습니다. 






'빅데이터분석개론' 카테고리의 다른 글

비즈니스 분석 (Business Analytics)  (4) 2015.12.13
비즈니스 인텔리전스 (Business Intelligence)  (8) 2015.12.13
HDFS와 MapReduce  (295) 2015.12.13
Hadoop 설치  (9) 2015.12.09
Hadoop 이해  (305) 2015.12.09



[하둡 분산파일시스템]

하둡 분산파일시스템은 빅데이터의 안정적인 저장 및 검색을 위해 설계된 하둡의 분산 파일 시스템으로서, 하나의  마스터와 여러 개의 슬레이브로 클러스터를 구성합니다. 마스터 노드를 하둡 분산파일시스템에서는 네임노드라고  하고, 슬레이브 노드를 데이터노드라고 합니다. 대용량 파일은 분산되어 여러 데이터노드에 저장되고 네임노드는  데이터노드들을 관리하는 메타데이터와 모니터링 시스템으로 그것을 관리합니다. 

이와 같은 방식을 사용하면 분산 저장으로 인해 데이터의 안정성을 갖게 되고, 혹시라도 데이터노드 한 두대가  고장나더라도 데이터를 잃지 않기 때문에 고장에 대한 감내성이 확보됩니다.  




하둡분산파일시스템의 구조와 동작






네임노드 할은 하둡 분산파일시스템을 구성하는 파일, 디렉토리 등의 메타데이터를 메인 메모리에 유지함으로써  HDFS를 전반적으로 관리하는 것입니다. 따라서 이 노드에 문제가 생겨 동작하지 않을 경우 하둡 분산파일시스템  전체를 사용할 수 없기 때문에 3개의 보조 노드를 같이 운용하는데,이를 통해 시스템의 안정성을 높일 수 있습니다.  체크포인트 노드와 세컨더리 노드는 네임노드의 데이터를 자체 저장장치에 파일로 백업하며, 백업 노드는 네임노드의  메타 데이터 정보를 자신의 메인 메모리에 백업합니다.  세 노드는 하둡 버전마다지원 여부가 상이하고, 역할이 일부 겹쳐서 동시에 사용할 수 없도록 제한되는 경우가  있으므로, 상황에 따라 탄력적으로 사용합니다.


데이터노드는 분산 처리할 정보가 실제로 저장되는 노드로써, 여러 데이터노드가 하나의 Rack으로 묶여있는데, 이러한 Rack은 하둡의 분산파일시스템에 여러 개가 존재합니다.  여기서의 Rack은 데이터 센터 등에서 서버 등의 다양한 장비들을 물리적으로, 효율적으로 장착하기 위한 프레임을  의미하는데요. 또한, 이는 하둡의 분산파일시스템에서 데이터의 복사본을 배치할 때 고려하는 요소이기도 합니다. 

즉 하둡 분산파일시스템에서는 데이터를 저장할 때 기본적으로 블록 단위로 분할한 뒤 각 블록마다 두 개의 복사본을  만들어 총 세 개의 같은 블록을 유지합니다. 그럼 이 복사본들은 어떻게 배치될까요? 

분홍색 블록으로 예를 들어 설명하겠습니다. 첫 번째 블록이 저장되지 않은 Rack을 찾아 그 Rack에 포함된  데이터노드 두 개를 선정하여 두 번째와 세 번째 블록을 저장합니다. 이를 통해 어떤 Rack 전체가 문제가 생기더라도  다른 Rack에서 해당 데이터를 구성하는 블록을 가져올 수 있게 되어 하둡 분산파일시스템에서의 데이터의 신뢰성을  높이게 됩니다.



클라이언트 는 하둡 분산파일시스템의 데이터를 사용하거나, 기록하는 애플리케이션으로 하둡의 맵리듀스  모듈이 이에 해당합니다. 하둡 분산파일시스템에서 데이터를 읽거나 작성할 때 우선적으로 네임노드에 해당 요청을  보낸 뒤, 네임노드에서 반환해 준 데이터노드와 직접 통신하여 연산을 수행합니다.  하둡 분산파일시스템은 수십 페타바이트에 이르는 대용량 데이터를 수천 대의 서버를 이용하여 빠르게 처리할 수  있도록 설계되었습니다. 하둡 분산파일시스템은 비용 문제로 저가의 서버를 이용하는 것을 전제로 하고 있는데  이럴 경우 디스크나 서버의 고장이 자주 발생할 수 있기 때문에 고장 감내성이 중요한 고려 요소가 됩니다.  그리고 스토리지 용량이 부족해지면 저가의 데이터노드를 네임노드에 추가 등록하는데, 이를 통해 시스템의 중단  없이 용량을 확장시킬 수 있습니다.


하둡 분산파일시스템은 여타의 분산 파일 시스템에 비해 메타데이터에 접근하거나 데이터를 변경하는 작업의  대기시간을 희생하는 대신 데이터를 읽어오는 작업의 처리량을 높여 큰 데이터를 한 번에 빠르게 가져올 수 있도록  설계되었습니다. 예를 들어 설명하자면 일반적인 파일 시스템의 블록사이즈가 수십 킬로바이트인 것에 비해  하둡 분산파일시스템의 한 블록의 크기는 기본적으로 64메가바이트로 설정되어 큰 차이를 보입니다. 


그리고 하둡 분산파일시스템은 한번 쓰기 완료된 데이터는 수정이 불가능하고 오직 덮어쓰기만 가능하도록   설계되었습니다. 왜냐하면 하둡 분산파일시스템은 데이터의 배치 처리를 위해서는 수집된 데이터를 수정할 필요가   없기 때문입니다. 이처럼 데이터 저장 방식이 간단해지면 전체 시스템의 관리가 간편해져 수천 대의 서버로 구성된  클러스터도 무리 없이 운영 가능해집니다. 




[맵리듀스](#09c181)


맵리듀스 는 저렴한 머신들을 이용하여 빅 데이터를 병렬로 분산 처리하기 위한 프로그래밍 모델인데요.  대용량 데이터를 신뢰할 수 없는 컴퓨터로 구성된 분산 클러스터 환경에서 대규모 데이터를 병렬로 처리하기 위해 개발되었습니다. 맵리듀스의 혁신적인 부분은 데이터 집합에 대한 쿼리를 입력 받아, 분할 한 후, 여러 개의  노드에서 병렬로 처리하는데 있으며 이러한 분산 처리는 단일 장비에서 처리하기에는 부적합한 대규모 데이터 처리  문제를 해결한다는 특징이 있습니다.


맵리듀스는 맵 단계와 리듀스 단계로 처리 과정을 나누어 작업합니다. 맵은 맵퍼라는 데이터 처리 함수를 통해  흩어져 있는 데이터를 관련 있는 데이터끼리 묶는 작업을 통해서 임시 데이터 집합으로 변형됩니다. 그리고 리듀스는  리듀서라는 데이터 처리 함수를 통해 맵 작업에서 생성된 임시 데이터 집합에서 중복 데이터를 제거하고 원하는  데이터를 추출하는 작업을 진행합니다. 즉, 맵리듀스에서는 파일을 맵 작업에 의해서 생성된 중간의 (키, 값) 쌍으로  변환하고 다음 스텝인 셔플 과정에서 정렬과 파티셔닝 작업을 동시에 수행하여 리듀스 작업의 입력값으로 사용하기  위해서 맵 작업에서 나온 결과물을 나눠주는 역할을 합니다. 


다음으로 리듀스 작업에서는 맵 작업의 결과물로 받은 입력값 중 중복 데이터를 제거하며, 마지막 생산에서 최종  결과파일을 생성합니다.  맵 작업과 리듀스 작업들은 전체 맵리듀스 구조에서 살펴봤을 때, 태스크 트래커가 관리합니다.  태스크 트래커는 각각의 슬레이브 노드들에서 실행하는 태스크들을 관리하는 것입니다. 잡 트래커는 태스크들의  스케줄링을 담당하며, 하나의 마스터 노드는 여러 슬레이브 노드들의 실행을 관리하는 것입니다. 





문서 집합에 등장하는 단어의 개수를 세는 작업을 생각해봅시다. 
 



그림에서처럼 3개의 문서가 하둡 분산파일시스템에서 입력으로 주어졌다고 가정해 보겠습니다.   그러면 3개의 맵 태스크 (task)가 발생합니다. 각 맵 태스크는 동일한 맵 함수를 실행하는데, 입력으로 문서의 ID가  키, 문서 텍스트가 값인 [키, 값] 쌍이 주어지면, 이 맵 함수는 문서 텍스트를 단어 단위로 쪼개어 각 단어가 키가  되고 값은 1로 고정된 새로운 [키, 값] 쌍의 집합을 출력합니다. 

맵리듀스 시스템은 이 집합의 원소들에 대해 섞기 및 정렬과정을 통해 동일한 키를 가지는 값들을 하나로 묶습니다.  이렇게 묶여진 [키, 값] 쌍들은 적절한 기준에 의해 2개의 리듀스 태스크로 분배됩니다.  각 리듀스 태스크는 역시 동일한 리듀스 함수를 실행하는데, 이 함수는 묶여진 값들을 모두 더하여 입력과 동일한  키의 새로운 값으로 만듭니다. 그 결과가 하둡 분산파일시스템에 저장되며 이는 3개의 문서 집합에서 나타나는  단어의 빈도수가 됩니다. 여기서, 맵 태스크 및 리듀스 태스크의 갯수는 임의로 잡은 것이며, 실제로는 맵리듀스  시스템에서 자동적으로 생성합니다.










'빅데이터분석개론' 카테고리의 다른 글

비즈니스 인텔리전스 (Business Intelligence)  (8) 2015.12.13
빅데이터 분석 방법론  (13) 2015.12.13
Hadoop 설치  (9) 2015.12.09
Hadoop 이해  (305) 2015.12.09
[강의] 빅데이터분석개론  (7) 2015.11.24



[하둡설치]


하둡은 여러 컴퓨터로 구성된 클러스터를 이용하여 방대한 양의 데이터를 처리하는 분산 처리  프레임워크입니다. 그래서 대용량의 스팸 메일을 처리하거나, 아주 빠른 속도로 비디오 트랜스코딩을 하거나,  생명과학에서 다중 염기 서열 정렬을 돕거나, 검색을 쉽게 도와줄 대량의 디지털 음원 자료들을 저장하고  관리할 수 있도록 내용 기반 음악 검색을 설계하는 등 다양한 분야에서의 하둡 활용을 생각해 볼 수 있습니다.


 이 같은 활용을 위해 이번 회차에서는 하둡 패키지를 설치하는 방법을 알아보겠습니다. 

 



1. 설치


하둡 설치 모드에는 완전분산모드, 독립실행모드, 가상분산모드라는 총 3가지 설치 모드가 존재합니다.

완전분산모드는 단일컴퓨터로는 설치가 불가능하기 때문에 독립실행모드 설치 과정과 가상분산모드를 통한  설치 과정을 살펴보도록 하겠습니다.  모드별로 설치해보기 전에 각 하둡 설치 모드에 대해서 좀 더 자세히 살펴보겠습니다. 완전분산모드란 모든 기능이  갖추어진 컴퓨터 클러스터를 구성할 수 있는 모드이며, 설치를 통해 분산 저장과 분산 연산의 장점을 누릴 수  있습니다. 독립실행모드란 다른 노드와 통신할 필요 없이 독립적으로 맵리듀스 프로그램의 로직을 개발하고 오류를  수정하고자 할 때의 모드입니다. 가상분산모드란 컴퓨터 클러스터가 한 대로 구성되어 있고,  이 한 대의 컴퓨터에서 실행되는 모드입니다. 이 모드는 코드 오류 수정 시 독립실행 모드에서의 기능을 보완할 수  있는데 메모리 사용 정도, 하둡 분산파일시스템 입출력 관련 문제 등을 검사할 수 있습니다.  각 모드에 대해 이해가 되셨나요? 독립실행모드와 가상분산모드는 모두 개발이나 오류 수정 목적으로 사용됩니다.   그리고 실제 하둡 클러스터는 완전분산 모드에서 실행되지만 완전분산모드는 단일컴퓨터로는 설치가 불가능합니다.   따라서 독립실행모드 설치 과정과 가상분산모드를 통한 설치 과정을 살펴보도록 하겠습니다. 



독립실행모드 설치

우분투내에 하둡을 설치해 보도록 하겠습니다. 파일접속화면의 왼쪽에 나열된  아이콘들 중 세번째에 위치한 파이어폭스는 모질라 재단에서 만든 웹브라우저로서, 빠르고 안정적이지만  액티브 X 지원이 부족하다는 단점이 있습니다. 이를 클릭하면 다음과 같은 화면이 나오는데, hadoop-2.7.1.tar.gz  파일을 다운받고 설치합니다.  그 다음 터미널(Terminal)을 실행해주고 cd Downloads 명령어를 이용하여 하둡설치 파일이 다운로드 된 폴더로  이동합니다. 그 후 cp hadoop-2.7.1.tar.gz /usr/local 명령어를 이용하여 하둡파일을 설정된 경로로 복사합니다.  그리고 tar zxvf hadoop-2.7.1.tar.gz 명령어를 이용해 압축을 풀어 하둡을 설치합니다. [이때 권한이 없다고 나오는데 루트계정으로 로그인한 후 설치하거나, 권한설청후 진행]


  



그 다음 경로를 설정해 주기 위해, apt-get install vim이란 명령어를 입력해 vim을 설치합니다.  이번에는 명령어를 이용해 profile을 열어보도록 하겠습니다. cd ~을 치고 엔터 후  다음 줄에 vim .profile 명령어를 입력하면 profile이 열립니다.  열린 profile에 다음의 명령어를 입력한 후 저장합니다. 


그 후 터미널(Terminal)을 이용해 source .profile 명령을 통해 profile을 등록합니다.  그리고 터미널(Terminal)에서 hadoop을 입력하여 다음의 결과가 출력된다면 정상적으로 수행된 것입니다.


마지막으로 터미널(Terminal)에서 vim /usr/local/hadoop-2.7.1/etc/hadoop/hadoop-env.sh 파일을 엽니다. 그리고 제일 하단에 제시된 명령어를 추가한 다음 저장하면 독립실행모드 설치가 마무리 됩니다.




가상분산모드 설치

하둡의 가상분산모드의 설치 과정을 알아보겠습니다. 이는 기본적으로 독립실행모드 설치 과정이 완료되어  있어야 하는데, 그 이유는 가상분산모드의 경우 독립실행모드에서의 기능을 보완할 수 있기 때문입니다.  가상분산모드를 설치하기 위해서는 먼저 ssh를 설치해야 합니다. ssh란 원격지 시스템에 접근하여 암호화된  메시지를 전송할 수 있는 프로그램으로 하둡은 ssh프로토콜을 사용해 클러스터간에 내부통신을 하기 때문에  ssh서버를 설치해주어야 합니다.  독립실행모드와 마찬가지로 터미널(Terminal)과 다음의 명령어를 이용해 ssh를 설치해줍니다.  /etc/init.d/ssh restart 명령어를 이용해 ssh를 실행시킵니다. netstat -ntl 명령어를 입력해서 결과가 출력되면 성공적으로 설치된 것입니다.


ssh는 키를 생성하고 생성키를 접속할때 사용하도록 복사하는 것입니다.  즉, ssh는 rsa 공개키 암호를 사용하기 때문에 로그인할 때 별도의 키가 필요한 것입니다.  키를 생성하는 명령어는 다음과 같습니다.  그리고 ssh localhost를 입력하여 localhost로 접속하면 다음과 같은 화면이 제시됩니다.  ssh서버로 접속 후 xml설정 및 마스터 슬레이브 설정을 해 주면 설치가 끝납니다. 


 

▼ SSH 설치시 에러 


E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)

E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?




'빅데이터분석개론' 카테고리의 다른 글

비즈니스 인텔리전스 (Business Intelligence)  (8) 2015.12.13
빅데이터 분석 방법론  (13) 2015.12.13
HDFS와 MapReduce  (295) 2015.12.13
Hadoop 이해  (305) 2015.12.09
[강의] 빅데이터분석개론  (7) 2015.11.24



[하둡의 이해]


1. 하둡의 발전과정


하둡이 어떻게 개발되고 발전해왔는지에 대해서 알아보겠습니다. 하둡은 더그 커팅이란 개발자가 처음  개발했습니다. 더그 커팅은 2002년에 웹 검색엔진인 너치를 개발한 뒤 전 세계에 오픈소스로 공개할 검색엔진을  개발하기 시작하였고, 지금의 하둡을 탄생시킬 수 있었습니다. 즉, 하둡은 너치 프로젝트로부터 시작된 것입니다.  너치를 개발할 당시에는 웹이 규모가 폭발적으로 늘어나고 있었기 때문에 늘어나는 웹 페이지를 쉽게 색인 할 수  있는 기술이 필요했습니다. 더그 커팅은 여기에 착안하여 크롤링과 빨리 찾아줄 수 있는 기술을 개발하여  너치 프로젝트를 만들고 오픈소스화 하였습니다.  웹 페이지를 쉽게 색인 할 수 있는 너치가 오픈소스화 되었지만 한계가 있었습니다. 너치는 10억 페이지 규모의  색인을 유지할 수 있었지만, 그 이상의 확장을 관리하기에는 구조적인 한계를 가지고 있었기 때문인데요.  이 당시 전체 웹 페이지 규모를 보면 10억 페이지를 관리할 수 있는 너치만으로는 인터넷 상에 존재하는 모든  페이지를 가져와서 저장할 수 없었고, 여기서 텍스트 기반의 탐색을 한다는 것은 기술적으로 불가능하였습니다.


이런 한계가 있는 상황에서 구글이 2003년에 구글 파일 시스템이라는 논문을 발표하였는데요. 구글 파일  시스템이란 급속히 늘어나는 구글의 데이터 처리를 위하여 설계된 대용량 분산 파일 시스템입니다. 더그 커팅은  이 논문으로부터 대부분의 아이디어를 가져와 너치를 위한 분산파일시스템인 너치 분산파일시스템을  개발했습니다. 구글 파일 시스템과 같은 구조를 가지고 있는 이 파일 시스템은 웹 크롤링과 색인 과정에서  생성되는 굉장히 큰 파일들을 처리하기에 알맞은 구조를 가지고 있는 파일 시스템이었습니다. 


그리고 구글은 2004년에 맵 리듀스를 발표했는데요. 이는 구글 분산파일시스템 위에서 동작시켜 대용량 데이터를  간단하게 처리할 수 있는 소프트웨어입니다. 너치 프로젝트는 맵 리듀스까지 프로젝트에 포함시켰습니다.   이로써 너치 프로젝트 안에 너치 분산파일시스템과 맵 리듀스가 포함되었고 이를 이용하여 굉장히 많은 데이터를  저장할 수 있었습니다. 그리고 많은 데이터를 분산 처리 환경에서 크롤링하여 가져오고, 처리할 수 있는 기반을  구축할 수 있었습니다.


더그 커팅은 이 너치 분산파일시스템과 맵 리듀스가 단순히 크롤링과 인덱스 생성을 위한 구조뿐만 아니라  다양한 용도로 사용될 수 있음을 알아챘습니다. 그래서 2006년 2월 너치 프로젝트로부터 너치 분산파일시스템과  맵 리듀스를 독립시켜 대용량의 데이터를 처리할 수 있는 프로젝트를 새롭게 생성하였습니다. 이 프로젝트가   바로 하둡 프로젝트의 시작이었습니다.


하둡 프로젝트가 생겨날 시기와 비슷한 무렵인 2006년도에 더그 커팅은 야후에 본격적으로 합류했고, 이후  하둡은 야후 안에서 엄청난 속도로 발전하고 성장하기 시작했습니다. 2008년 2월에 야후에서는 만 개의  하둡 코어를 이용하여 야후 서비스의 색인 제품들이 생성되고 있다고 발표하였습니다. 동일한 시기인 2008년   2월에 하둡은 오픈소스의 절대강자인 아파치 소프트웨어 재단에서 최고의 프로젝트에 등극하여 확실히 이름을   알리기 시작했습니다.



2. 하둡의 구성요소


(1) 분산파일 시스템(HDFS)

분산파일시스템인 HDFS, 맵리듀스, 하둡 에코시스템에 대하여  알아보겠습니다.  하둡은 빅데이터를 저장하는 분산파일시스템인 HDFS과 분산병렬을 처리하는 맵리듀스(MapReduce)로 구성된다고  말씀드렸는데요. 각각에 대하여 자세히 알아보도록 하겠습니다.  


하둡 분산파일시스템이란 하둡이 사용하는 분산 저장소라고 생각하시면 됩니다. 분산된 환경에서 다양한 형태,   초대용량의 데이터를 안전하게 저장할 수 있을 뿐만 아니라 저장되어 있는 데이터를 빠르게 처리할 수 있도록 설계되었습니다. 즉, 분산된 환경에서 우수한 저장력과 데이터 처리 능력을 보여줍니다. 

이런 하둡 분산파일시스템은 전체 성능이나 용량을 늘리기 위해 많은 서버를 이용하여 구축한다는 특징이  있는데요. 수를 늘리기 위해 값싼 서버들을 이용해 구축하고, 서버의 수가 많기 때문에 높은 수준의  고장방지기능을 이용합니다.


특징

분산파일시스템은 마스터 노드가 동작하는 서버와 슬레이브 노드가 동작하는 서버로 구성되어 있다고 하였습니다.  노드는 네트워크에서 사용되는 용어로, 일반적으로 네트워크에 연결되어 있고 전송 채널을 통해 자료를  주고 받을 수 있는 장비를 의미합니다. 하둡에서는 모든 서버들이 네트워크에 의해 연결되어 있고 통신  가능하도록 구성되는데 이때 노드는 각 구성요소들이 동작하는 서버라고 이해하면 쉽습니다.

하둡 분산파일시스템은 다수 컴퓨터들의 그룹으로서, 마스터 노드와 슬레이브 노드를 가집니다. 마스터 노드는  하둡 분산 파일 시스템에서 크게 두가지 역할을 담당하는데요 첫 번째 역할은 현재 분산 파일 시스템에서   사용하고 있는 모든 슬레이브 노드들을 관리하는 것입니다.


마스터노드 역할과 슬레이브노드 역할





(2) 맵리듀스

맵 리듀스는 저렴한 머신들을 이용하여 빅 데이터를 병렬로 분산 처리하기 위한 프로그래밍 모델로 맵  리듀스 기법을 제공합니다. 맵 리듀스 기법이란 시스템의 분산 구조를 감추면서 범용 프로그래밍 언어를 이용해  병렬처리 프로그래밍이 가능한 기법으로 맵 함수와 리듀스 함수를 기반으로 합니다.  맵 리듀스는 실행할 때 처리 성능에 영향을 주는 몇 가지 사항들을 고려해야 하는데요.  맵 리듀스는 병렬 및 분산 처리되기 때문에 여러 서버 중에서 하나의 서버가 제대로 동작하지 않거나 멈추는  문제나 동시 처리를 위해 각 프로세스 간의 스케줄링을 고려해야 합니다. 또한 장치 간의 네트워크 구성도  고려해야 합니다.





(3) 하둡 에코시스템
하둡은 빅데이터 저장과 처리의 기본적인 기능만 제공하기 때문에, 이의 부족함을 보완하는 다양한 오픈소스  소프트웨어들이 필요합니다. 이를 하둡 에코시스템이라고 하는데요. 즉, 하둡 에코시스템이란 하둡의 기능을  보완하는 서브 오픈소스 소프트웨어들입니다. 이를 통해 빅데이터를 보다 원활하고 효율적으로 분석할 수  있습니다. 표를 자세히 살펴볼까요? 빅데이터 활용 단계별로 기술을 구분해 놓았는데요. 빅데이터 수집에는  플럼과 스쿱 기술을 사용하여 비정형 데이터를 수집하고 관계형 데이터베이스로부터 데이터를 가져옵니다.  그리고 빅데이터 저장, 활용에서는 Hbase 기술을 통해 분산되어 있는 전체 데이터 컬럼 단위의 NoSQL  데이터베이스를 처리합니다. 빅데이터 처리에는 하이브, 피그, 마후트 기술이 있는데요. 이를 통해  유사 SQL  기반 빅데이터, 스크리브 언어 기반 빅데이터, 기계학습 알고리즘 기반 빅데이터들을 처리합니다. 그리고  마지막으로 빅데이터 관리에서는 우지, H카탈로그, 주키퍼 기술을 통해 빅데이터 처리 과정, 빅데이터 메타  정보, 빅데이터 서버 시스템을 관리합니다. 

눈치 채셨는지 모르겠지만 특히 하둡 에코시스템의 주요 기술은 대부분은 동물 이름과 관련 있습니다.
Hadoop은 창시자 더그 컷팅의 아들이 노란 코끼리 장난감을 ‘하둡’이라 부르는 것을 보고 이름을 지었고  Hive는 벌떼, Pig는 돼지 그리고 이들을 관리하는 주키퍼는 동물 사육사라는 뜻이지요. 이 외에도 하둡 생태계를  구성하고 있는 주요 솔루션은 플럼, 스쿱, HBase, 마후트 등이 있습니다. 하둡 관련 오픈소스 프로젝트는  해마다 이어지고 있는데 이들 솔루션은 대부분 오픈소스화 되어 있습니다.






에코시스템지도




구성
다음은 하둡 에코시스템 구성에 대한 이미지입니다. 하둡 에코시스템에는 기본 요소인 하둡 분산파일시스템과  맵 리듀스, 분산 데이터베이스인 H베이스, 관계형 대수 쿼리 언어 인터페이스인 피그(Pig), 데이터웨어하우징  솔루션인 하이브, 테이블 및 스토리지 관리 서비스인 H카탈로그, 그리고 매니지먼트인 암바리와  코디네이션인 주키퍼 등이 포함됩니다. 

하둡 에코시스템에 대해 더그 커팅은 “하둡을 중심으로 성장한 프로젝트들의 전체 생태계가 있으며,  이는 계속해서 성장하고 있습니다. 하둡은 분산된 운영체제의 커널이며, 커널 주변의 다른 모든 구성요소들은  현재 개발 중에 있는데 피그와 하이브는 그런 것들의 좋은 예라 할 수 있습니다. 단순히 하둡만을 사용하는  사람은 없습니다. 따라서 그들은 “여러 개의 다른 툴들도 사용하고 있습니다.” 라고 설명했습니다.





피그와 하이브
그럼 이제 하둡 에코시스템의 기술 중 피그와 하이브에 대해서 알아보고자 합니다. 먼저 피그는 고급수준의  데이터 처리 언어로, 하둡 프로그래밍을 간단하게 해주고 하둡의 확장성과 안정성을 유지시켜줍니다.  그리고 고급 수준의 언어들에서 클래스 연산들로 여겨져야 하는 어떤 기능들은 맵 리듀스 기능을 수행하기가  어려운데 이것은 이러한 점을 개선해 줍니다. 피그는 대용량 데이터 집합을 좀 더 고차원적으로 처리할 수  있도록 해주며 다중 값과 중첩된 형태를 보이는 좀 더 다양한 데이터 구조를 지원하고 데이터에 적용할 수 있는  변환 종류도 훨씬 더 강력합니다.

하이브는 하둡의 최상위층에 있는 데이터 웨어하우징 패키지로 다수의 사용자 및 대용량 로그 데이터 처리를  위해 페이스북에서 개발한 정보 플랫폼 중 가장 중요한 구성 요소입니다. 페이스북의 급증하는 소셜네트워킹에서  매일같이 생산되는 대량의 데이터를 관리하고 학습하기 위해 개발되었는데요. 페이스북은 하둡 분산파일시스템에  대량의 데이터를 저장해 두고 하이브가 제공하는 믿을만한 SQL 기법을 이용하여 데이터를 분석합니다.  이제 하이브는 많은 조직들이 일반적인 목적의 확장 가능한 데이터 처리 플랫폼으로 채택하는 성공적인 아파치  프로젝트로 성장했습니다.






'빅데이터분석개론' 카테고리의 다른 글

비즈니스 인텔리전스 (Business Intelligence)  (8) 2015.12.13
빅데이터 분석 방법론  (13) 2015.12.13
HDFS와 MapReduce  (295) 2015.12.13
Hadoop 설치  (9) 2015.12.09
[강의] 빅데이터분석개론  (7) 2015.11.24


강의목록

1 빅데이터 이해와 동향

2 빅데이터 활용요소와 데이터 사이언티스트

3 빅데이터 기술

4 빅데이터 활용 사례

5 빅데이터 발전 방향  

6 빅데이터 IT 이론

7 빅데이터 플랫폼 개요

8 하둡 이해

9 하둡 활용

10 빅데이터 분석 방법론

11 비즈니스 인텔리전스(Business Intelligence)

12 비즈니스 분석(Business Analytics)

13 데이터 마이닝 이해

14 데이터 마이닝 분석 유형

15 데이터 마이닝 분석 패키지 웨카(WEKA)

16 웨카(WEKA)를 활용한 데이터 마이닝 분석

17 데이터 마이닝 분석 패키지 R

18 R을 활용한 데이터 마이닝 분석

19 비정형 데이터 마이닝의 이해

20 텍스트 마이닝의 이해

21 오피니언 마이닝의 이해

22 소셜 네트워크 분석의 이해

23 제조업과 금융산업의 빅데이터 활용과 사례연구

24 의료 통신 산업과 공공부문의 빅데이터 활용과 사례연구

25 전략적 기업경영을 위한 빅데이터 분석과 사례연구

26 빅데이터 환경에서의 개인정보 보호와 보안


참고문헌

 


1. 빅데이터 컴퓨팅 기술(IT CookBook 164) - 한빛아카데미, 2014년

2. 한국정보화진흥원, 빅데이터로 진화하는 세상 - Big Data 글로벌 선진사례, 2012년

3. www.kbig.kr


 

 

 

'빅데이터분석개론' 카테고리의 다른 글

비즈니스 인텔리전스 (Business Intelligence)  (8) 2015.12.13
빅데이터 분석 방법론  (13) 2015.12.13
HDFS와 MapReduce  (295) 2015.12.13
Hadoop 설치  (9) 2015.12.09
Hadoop 이해  (305) 2015.12.09