4 분 소요

키워드🔑
빅데이터 플랫폼, 하둡 에코시스템, R, 우지, 플럼, HBase, 스쿱, 맵리듀스, 얀, 스파크, HDFS,
척와, 스크라이브, 히호, 피그, 하이브, 머하웃, 임팔라, 주키퍼


목차

Ⅰ.빅데이터 분석 기획
Ⅱ.빅데이터 탐색
Ⅲ.빅데이터 모델링
Ⅳ.빅데이터 결과 해석

01. 빅데이터의 이해

2. 빅데이터 기술 및 제도

1) 빅데이터 플랫폼

(1) 빅데이터 플랫폼의 개념

📌 빅데이터에서 가치를 추출하기 위해 일련의 과정을 규격화한 기술

  • 여기서 일련의 과정은: 수집 → 저장 → 처리 → 분석 → 시각화
  • 의료, 환경, 범죄, 자동차 등 특화된 분석을 지원하는 플랫폼이 발전 추세

(2) 빅데이터 플랫폼 구성요소

📌 데이터 수집 → 저장 → 분석 → 활용

  • 수집: ETL(Extract Transform Load), 크롤러(Crawler), EAI(Enterprise Architecture Integration) 등
  • 저장: RDBMS(Relational DBMS, 관계형 데이터베이스), NoSQL(Not Only SQL) 등
  • 분석: 텍스트 마이닝, 머신러닝, 통계, 데이터 마이닝, SNS 분석, 예측 분석 등
  • 활용: 데이터 가시화, 비즈니스 인텔리전스(BI), Open API 연계, 히스토그램, 인포그래픽 등

💡
NoSQL이란, 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어를 말한다
(고정된 테이블 스키마 X 조인 연산 X 수평적 확장 O)

(3) 빅데이터 플랫폼 데이터 형식

  • HTML: 웹페이지 만들 때 사용 / 텍스트, 태그, 스크립트로 구성
  • XML: 다목적 마크업 언어 / 데이터 표현을 위해 태그 사용
  • CSV: 필드를 쉼표로 구분한 텍스트 데이터, 텍스트 파일
  • JSON: Key-Value로 이루어진 데이터 오브젝트를 전달하기 위해, 텍스트를 사용하는 개방형 표준 포맷

(4) 빅데이터 플랫폼 구축 소프트웨어

📌 R / 우지 / 플럼 / HBase / 스쿱

  • R: 빅데이터 분석
    • S언어를 기반으로 만들어짐 / 강력한 시각화 기능
    • r-project.org: R is a free software environment for statistical computing and graphics
  • 우지(Oozie): 워크플로우 관리
    • 하둡 작업(job) 관리 / 워크플로우 및 코디네이터 시스템 / 스케줄링 및 모니터링
    • oozie.apache.org: Oozie is a workflow scheduler system to manage Apache Hadoop jobs
    • 우지는 버마어로 코끼리 운전자를 의미한다
  • 플럼(Flume): 데이터 수집
    • Event, Agent 활용 / 대량 로그데이터를 수집, 집계, 이동
    • 여러 서버에서 생산된 대용량 로그 데이터를 수집하여 원격 목적지에 데이터를 전송하는 기능
    • flume.apache.org: service for collecting, aggregating, and moving large amounts of log data.
    • 플럼은 개방형수로, 벌목된 통나무(log)를 운반하는 수로를 의미한다
  • HBase: 분산 데이터베이스
    • 컬럼 기반 저장소 / HDFS, 인터페이스 제공
    • 큰 테이블에 대한 빠른 조회 가능 / HDFS 위에 구축되어, HDFS에 있는 데이터에 랜덤 엑세스 및 읽기
    • hbase.apache.org: Hadoop database. Random, realtime read/write access to bigdata
  • 스쿱(Sqoop): 정형 데이터 수집
    • SQL to Hadoop / SQL ↔ HDFS/ Connector를 사용
    • 동작 2가지 import(SQL → HDFS), export(HDFS → SQL)
    • sqoop.apache.org: tool designed for transferring bulk data between Hadoop and structured datastores

(5) 분산 컴퓨팅 환경 소프트웨어 구성요소

📌 맵리듀스/ 얀/ 스파크/ HDFS/ 하둡

  • 맵리듀스(Map Reduce): 맵 → 셔플 → 리듀스 순서대로 데이터 처리
    • 맵: Key-Value로 데이터 취합 (입력된 데이터를 가공하여 Key-Value 쌍으로 변환)
    • 셔플: 데이터 통합 처리
    • 리듀스: 맵 처리된 데이터 정리 (Key를 기준으로 결과물을 모아서 집계)
    • 대용량 데이터를 위한 분산 병렬 처리 소프트웨어 프레임워크
  • 얀(YARN): 자원 관리 플랫폼 / Master(리소스매니저)-Slave(노드매니저)
    • 리소스 매니저: 스케줄러 / 클러스터 이용률 최적화 수행
    • 노드 매니저: 노드 내 자원 관리 / 리소스 매니저에 보고
    • 애플리케이션 마스터: 자원 교섭 / 컨테이너 실행
    • 컨테이너: 프로그램 구동을 위한 격리 환경 지원
  • 아파치 스파크(Apache Spark): 대규모 데이터 분산처리시스템
    • 실시간 데이터 처리 (스트리밍 데이터, 온라인 머신러닝 등)
    • 저장이 아니라 데이터 프로세싱하는 역할
  • 하둡 분산 파일 시스템(HDFS): 대용량 파일을 분산된 서버에 저장, 처리 / Master(네임노드)-Slave(데이터노드)
    • 네임 노드: 속성 기록 (파일 이름, 권한 등) / 메타 데이터 관리/ 데이터 노드 모니터링
    • 데이터 노드: 데이터 저장/ 일정한 크기로 나눈 블럭 형태로 저장함
  • 아파치 하둡(Apache Hadoop): HDFS, 맵리듀스를 중심으로 하둡 에코시스템을 가진다.
    • 클라우드 플랫폼 상에서 클러스터를 구성하여 데이터 분석

(6) 하둡 에코시스템 (Hadoop Ecosystem)

📌 수집, 저장, 처리 기술 / 가공, 분석, 관리 기술

  • 수집, 저장, 처리 기술
    • 비정형 데이터 수집: 척와/ 플럼/ 스크라이브
      • 척와 (Chukwa): 분산된 서버에서 에이전트 실행 → 컬렉터가 데이터 받아서 HDFS 저장
      • 플럼 (Flume): 대량 로그데이터 수집, 집계, 이동 / 이벤트, 에이전트를 활용하는 기술
      • 스크라이브 (Scribe): 대용량 실시간 스트리밍 로그 데이터 수집 기술
    • 정형 데이터 수집: 스쿱/ 히호
      • 스쿱 (Sqoop): 대용량 데이터 전송 솔루션 / 커넥터를 사용하여 RDBMS ↔ HDFS
      • 히호 (Hiho): 대용량 데이터 전송 솔루션 / 깃허브에 공개되어 있음
    • 분산 데이터 저장: HDFS
      • HDFS: 대용량 파일을 분산된 서버에 저장, 저장된 데이터를 빠르게 처리할 수 있게 하는 시스템
      • 범용 하드웨어, 서버 기반/ 데이터 접근 패턴을 스트리밍 방식으로 지원 / 자동복구
      • 분산 데이터 처리: 맵리듀스
      • 분산 데이터베이스: HBase
  • 데이터 가공, 분석, 관리를 위한 주요 기술
    • 데이터 가공: 피그/ 하이브
      • 피그 (Pig): 대용량 데이터 집합을 분석하기 위한 플랫폼 / 맵리듀스 API 매우 단순화 / SQL과 유사한 형태
      • 하이브 (Hive): 하둡 기반 DW 솔루션 / SQL과 유사한 HiveQL 쿼리 제공
    • 데이터마이닝: 머하웃
      • 머하웃 (Mahout): 하둡 기반 데이터 마이닝 알고리즘을 구현한 오픈 소스 (분류, 클러스터링, 추천 및 협업 필터링 등)
      • 확장성을 가진 머신러닝용 라이브러리 (mahout.apache.org)
      • 머하웃은 코끼리 조련사를 뜻한다
    • 실시간 SQL 질의: 임팔라
      • 임팔라 (Impala): 하둡 기반 실시간 SQL 질의 시스템/ 인터페이스로 HiveQL 사용/ 수초 내에 결과 확인 가능
      • 오픈소스 대규모 병렬 처리 SQL 쿼리 엔진(impala.apache.org)
    • 워크플로우 관리: 우지
      • 우지 (Oozie): 하둡 잡 관리용 워크플로우 및 코디네이터 시스템 / 자바 웹 애플리케이션 서버
    • 분산 코디네이션: 주키퍼
      • 주키퍼 (Zookeeper): 분산 환경에서 서버 간 상호조정이 필요한 다양한 서비스를 제공하는 시스템
      • 한 서버에만 서비스가 분산되지 않도록 분산, 한 서버에서 처리한 결과를 다른 서버들과 동기화
      • (zookeeper.apache.org)

image


댓글남기기