군집 분석과 데이터 수집 기술

Yuno·2025년 4월 12일

데이터 사이언스

목록 보기
14/25

1️⃣ 군집 분석(Clustering)

✨ 군집 분석이란?

  • 유사한 특성을 가진 데이터끼리 묶어서 Cluster(군집) 를 만드는 기법
  • 통계 용어로는 Clustering 이라 부름

✨ 활용 예시

  • 다양한 사과 100개를 종류별로 묶는 것처럼, 데이터를 특성별로 분류
  • SNS 사용자 성향, 웹서비스 이용 성향, 패션 트렌드 등 다양한 분야에서 활용

✨ 군집 분석의 장점

  • 데이터를 이해하고 해석하기 쉬워짐
  • 결과에서 새로운 인사이트와 재미있는 사실 발견 가능
  • 데이터 분석의 시작점 또는 완료점이 될 수 있음

2️⃣ 데이터 수집 기술 개요

✨ 데이터 수집의 중요성

  • 데이터 분석의 정확도와 품질을 결정하는 첫 단계
  • 내부 데이터(조직 내부에서 쉽게 접근) 와 외부 데이터(API, 크롤링 등) 를 구분하여 수집

✨ 내부 데이터와 외부 데이터 수집 방식

구분데이터 유형대표적 수집 기술
내부 데이터정형 데이터 (로그 등)로그 수집기 (Splunk, Flume 등)
외부 데이터비정형 데이터 (SNS, 웹 등)크롤링, RSS, Open API

3️⃣ 대표적 수집 솔루션

✨ Splunk

  • 특징
    • "Google for Machine Log" 라는 별명
    • 실시간 스트리밍 데이터의 저장, 검색, 분석, 시각화 가능
    • 로그 및 센서 데이터 처리에 탁월함
    • Hadoop(HDFS) 와의 연동성 우수
  • 활용: 서버 로그 분석, 센싱 데이터 처리에 사용

✨ Apache Flume

  • 특징
    • Hadoop(HDFS) 에 데이터를 효율적으로 저장하는 솔루션
    • 로그나 이벤트의 유실 방지(신뢰성)
    • 수평 확장성 및 분산 수집 가능
    • 이벤트 흐름 관리 (Source → Channel → Sink 구조)
  • Flume 구성 요소
구성 요소역할
Source데이터를 수집하고 Channel 로 전달
Channel데이터를 임시 저장 및 전달
SinkChannel 에서 받은 데이터를 저장하거나 분석용 시스템에 전달
  • 예시 유형
    • Spooling Directory Source (파일 모니터링)
    • Thrift Source (직접 통신 수집)
    • Exec Source (파일 tailing)
    • Avro Source (Avro 통신 수집)
    • Elasticsearch Sink (검색엔진에 전달)
    • Hadoop Sink (HDFS 에 전달)

✨ Apache Sqoop (SQL to Hadoop)

  • 정의: 관계형 DB (RDBMS) 와 Hadoop 간 대량 데이터를 전송하는 도구
  • 필요성
    • RDBMS 에 저장된 데이터를 Hadoop 으로 이동 및 분석
    • 메타데이터를 Hadoop 이나 Hive 로 옮겨 분석
    • Hadoop에서 분석한 결과를 다시 RDBMS로 전송
  • Sqoop1 vs Sqoop2
항목Sqoop1Sqoop2
설치 방식Client-sideServer-side
JDBC Driver 설치각 로컬마다 필요한 곳만 필요
사용 방식명령줄 기반 (CLI)REST API 및 웹 UI 지원
편의성 / 보안성낮음높음
  • 특징
    • Sqoop2 는 중앙 서버에서 관리되며 확장성과 보안성, 관리 편의성이 뛰어남
    • JDBC Driver 를 중앙 관리하여 효율성 증가
    • CLI 와 브라우저에서 REST 방식으로 편리하게 접근 가능

🚀 요약

  • 군집분석(Clustering) 은 데이터를 특성별로 분류하여 의미 있는 그룹을 만들어 분석의 효율을 높임
  • 분석 정확성을 높이기 위해선 정확한 데이터 수집이 필수이며, 내부 데이터와 외부 데이터 수집 방식이 다름
  • Splunk는 실시간 데이터 처리에 뛰어난 성능을 보이며 Hadoop과 긴밀하게 연동 가능
  • Flume은 Hadoop (HDFS) 에 데이터를 안정적으로 전달하며, 신뢰성 및 확장성이 뛰어남
  • Sqoop은 RDBMS 데이터와 Hadoop 간 효율적인 데이터 전송을 지원하며, 특히 Sqoop2 에서 편의성과 관리성이 크게 개선됨
profile
Hello World

0개의 댓글