티스토리 뷰

개요

  • 기술 분석: 분석 초기 데이터의 특징을 파악하기 위해 선택, 집계, 요약 등 양적 기술 분석을 수행한다.
  • 탐색 분석: 업무 도메인 지식을 기반으로 대규모 데이터셋의 상관관계나 연관성을 파악한다.
  • 추론 분석: 전통적인 통계분석 기법으로 문제에 대한 가설을 세우고 샘플링을 통해 가설을 검증한다.
  • 인과 분석: 문제 해결을 위한 원인과 결과 변수를 도출하고 변수의 영향도를 분석한다.
  • 예측 분석: 대규모 과거 데이터를 학습해 예측 모형을 만들고, 최근의 데이터로 미래를 예측한다.
    • BigData 기반의 AI 예측 모델은 인간에 비해 객관적이며, 수백~수천개의 변수를 선정하여 이를 기반으로 예측 모델을 만들기 때문에 인간의 한계를 뛰어넘는 의사결정을 할 수 있게 되었다.

빅데이터 분석 프로세스


위의 빅데이터 분석 프로세스는 전통적인 방식의 분석과는 어떤 차이가 있을까?

  • 분석 과정만 놓고 봤을 때는 둘의 방식에서 차이는 없다. 차이를 생각하기 위해서는 빅데이터의 요건인 3V + Long Data(오랜 기간동안 보관하는 데이터)를 생각해보아야 한다.
  • 전통적인 기법에서는 3V에 대한 분석이 불가능했다면, 이를 가능하게 하는 것이 빅데이터 분석이라고 볼 수 있다.

빅데이터 분석 활용 기술

Impala - 임팔라

Hive가 MapReduce를 대체하는 SQL용 하둡 도구로 자리를 잡았으나, Hive는 MapReduce를 기반으로 하고 있기 때문에 인터렉티브한 데이터의 탐색적 분석에는 적합한 도구가 아니다. 따라서 빅데이터를 실시간으로 온라인 분석을 할 수 있는 개발한 프레임워크 중 하나가 임팔라이다.

  • 주요 구성 요소
    • Impalad
      • 하둡의 데이터노드에 설치되어 임팔라의 실행 쿼리에 대한 계획, 스케줄링, 엔진을 관리하는 코어 영역이다.
    • Query Planner
      • 임팔라 쿼리에 대한 실행 계획을 수립한다.
    • Query Coordinator
      • 임팔라 job list 및 scheduling을 관리한다.
    • Query Exec Engine
      • 임팔라 쿼리를 최적화해 실행하고, 쿼리 결과를 제공한다.
    • Statestored
      • 분산 환경에 설치돼 있는 Impalad의 설정 정보 및 서비스를 관리한다.
    • Catalogd
      • 임팔라에서 실행된 작업 이력들을 관리하며, 필요 시 작업 이력을 제공한다.
  • 아키텍처

  • 하둡의 데이터 노드 위에서 실행된다.
  • 데이터 노드 위에 Impalad가 하나씩 올라가고, 그 안에는 Query Exec Engine, Query Planner, Query Coodinator가 설치된다.
  • 한 대는 반드시 Master Server가 되어야 한다.
    • 마스터 서버에는 Statestored와 Catalogd가 위치한다.

Zeppelin - 제플린

데이터를 분석할 때 많이 사용되는 언어는 R, Python이다. 분석 시 이 언어를 사용할 때는 하둡에 있는 데이터를 JDBC와 같은 커넥터로 연결한 후 데이터를 가져와서 해당 언어에 맞게 데이터를 전처리하고 분석하고 사용하는데는 몇가지 문제가 있다.
첫 번째는 하둡에 있는 빅데이터를 가지고 올 때 저장공간에 대한 Space, Network I/O, Disk I/O에 대한 문제가 발생한다는 것이다.
두 번째는 R과 파이썬 환경으로 빅데이터를 어떻게든 가져갔다고 한들 빅데이터를 사용하기에는 workstation 환경이 부족하다는 것이다.
위와 같은 문제를 해결하기 위해 빅데이터의 컴퓨팅 파워 능력을 사용하여 전처리 작업을 수행한 뒤 경량화 된 데이터를 R 혹은 Python 환경으로 가져가서 분석을 하는 방법으로 사용한다. 하지만 이 또한 하둡에 대한 의존성이 커진다는 문제가 있는데, 이를 해결하기 위한 최적의 도구가 Spark다.
Spark의 환경을 웹 환경에서 사용하기 쉽게 인터페이스를 제공해주는 프레임워크가 바로 제플린이다.

  • 주요 구성 요소
    • NoteBook
      • 웹 상에서 제플린의 인터프리터 언어를 작성하고 명령을 실행 및 관리할 수 있는 UI다.
    • Visualization
      • 인터프리터의 실행 결과를 곧바로 웹 상에서 다양한 시각화 도구로 분석해 볼 수 있는 기능이다.
    • Zeppelin Server
      • NoteBook을 웹으로 제공하기 위한 웹 어플리케이션 서버로서, 인터프리터 엔진 및 인터프리터 API 등을 지원한다.
    • Zeppelin Interpreter
      • 데이터 분석을 위한 다양한 인터프리터를 제공하며, 스파크, 하이브, JDBC, Shell 등이 있으며 필요 시 인터프리터를 추가 확장할 수 있다.
  • 아키텍처

Mahout - 머하웃

하둡 생태계에서 머신러닝을 사용해 데이터 마이닝을 수행하는 소프트웨어

  • 주요 구성 요소
    • 추천 (Recommendation)
      • 사용자들이 관심을 가졌던 정보나 구매했던 물건의 정보를 분석해서 추천하는 기능.
      • 사용자 기반 추천
        • 유사한 사용자를 찾아서 추천하는 방식
      • 아이템 기반 추천
        • 항목 간 유사성을 계산해서 추천 항목을 생성하는 방식
    • 분류 (Classification)
      • 데이터셋의 다양한 패턴과 특징을 발견해 레이블을 지정하고 분류하는 기능
      • 나이브 베이지안, 랜덤 포레스트, 로지스틱 회귀 등을 지원한다.
    • 군집 (Clustering)
      • 대규모 데이터셋에서 새로운 특성으로 데이터의 군집들을 발견하는 기능
      • K-Means, C-Means, Canopy 등을 지원한다.
    • 감독학습 (Supervised Learning)
      • 학습을 위한 데이터셋을 입력해서 분석 모델을 학습시키는 머신러닝 기법
      • 학습된 분석 모델을 이용해 예측하고 최적화하는데 사용하고, 분류와 회귀 분석 기법이 이에 해당한다.
    • 비감독학습 (Unsupervised Learning)
      • 학습 데이터셋을 제공하지 않고 데이터의 특징적인 패턴을 발견하는 머신러닝 기법
      • 사람이 구분 및 그루핑하기 어려운 현상들을 자동으로 그루핑하는데 사용
      • 군집 기법이 여기에 해당한다.
  • 아키텍처

Sqoop - 스쿱

엄밀히는 빅데이터 분석 도구는 아니다. 빅데이터 분석 결과를 하둡에서 외부에 있는 RDBMS에 전달한다던지, 그 반대의 경우에 사용한다.

  • 주요 구성 요소
    • Sqoop Client
      • 하둡의 분산 환경에서 HDFS와 RDBMS간의 데이터 import, export 기능을 수행하기 위한 라이브러리로 구성되어 있다.
    • Sqoop Server
      • 스쿱 2의 아키텍처에서 제공되며, 스쿱 1의 분산된 클라이언트 기능을 통합하여 REST API로 제공한다.
    • Import/Export
      • Import
        • RDBMS 데이터를 HDFS로 가져올 때 사용한다.
      • Export
        • HDFS의 데이터를 RDBMS로 내보낼 때 사용한다.
    • Connectors
      • Import/Export에서 사용될 다양한 DBMS의 접속 Adaptor와 라이브러리를 제공한다.
    • Metadata
      • 스쿱 서버를 서비스하는데 필요한 각종 메타 정보를 저장한다.
  • 아키텍처 - 1 
    • 스쿱 클라이언트가 직접 하둡에 접속을 해서 Import/Export를 하기 위한 Map을 실행한다.

  • 아키텍처 - 2
    • 스쿱 클라이언트는 단지 CLI와 Browser 기능만을 가진다.
    • REST API, WEB UI, Import/Export Library, Connectors의 구성요소를 가진 스쿱 서버가 클라이언트와 하둡의 중간에서 상호 접속을 할 수 있는 중간 다리 역할을 수행한다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함