본문 바로가기
Study Log/ADP

[ADP 필기 요약]_1과목 데이터의 이해_⑤

by Maker_Potato 2026. 2. 2.

1. 빅데이터 분석 기술

1-1. 하둡(Hadoop)

✅ 하둡이 등장한 이유

데이터가 너무 많아지고(Volume), 너무 빨리 쌓이고(Velocity), 형태도 제각각(Variety)이라
한 대의 서버로 감당이 어려워져서 → 여러 대의 컴퓨터를 묶어(분산) 저장·처리하려고 등장했습니다.

 

✅ 하둡은 무엇인가?

여러 대의 컴퓨터(클러스터)를 하나의 시스템처럼 사용해서
대용량 데이터를 분산 저장(HDFS)하고 분산 처리(MapReduce)하는 기술/프레임워크입니다.

🔥 시험에 자주 나오는 “하둡 3대장”

  • HDFS: 분산 파일 시스템 (저장)
  • MapReduce: 분산 처리 프로그래밍 모델 (처리/계산)
  • YARN: 리소스/작업 관리 (운영/스케줄링)

✅ 시험 포인트
“HDFS=저장 / MapReduce=처리 / YARN=자원관리” 3개를 역할로 정확히 매칭하는 문제가 자주 나옵니다.

 

 

1-2. 하둡 에코시스템(Hadoop Ecosystem)

하둡이 “저장+배치 처리”에 강하지만, 실제 업무에는 조회/분석/수집/워크플로우 등 더 많은 기능이 필요하죠.
그래서 부족한 부분을 보완하는 도구들이 붙어서 에코시스템이 형성됩니다.
예) Hive(쿼리), HBase(분산DB), Sqoop(데이터 이동), Flume(로그 수집) 등

⚠️ 함정
“MapReduce로 SQL을 이용해 실시간 처리” 같은 표현은 조심!
하둡/MapReduce 기본은 배치 처리에 가깝고, SQL은 보통 Hive 같은 도구로 “SQL 유사 질의”를 제공합니다.

 

장단점(시험용)

  • 장점: 수평 확장(Scale-out), 비용 효율, 고장 허용(장애에 강함), 대용량 배치 처리
  • 단점: 실시간/저지연에 약함, 운영·개발이 복잡, 소규모 데이터에는 비효율

 

1-3. 아파치 스파크(Apache Spark)

 

✅ 스파크는 무엇인가?

실시간(준실시간)까지 포함하는 분산 컴퓨팅 “플랫폼”이고, 가장 큰 특징은 In-memory(메모리 기반 처리)로 속도가 빠르다는 점입니다. 

 

✅ 스파크가 나온 이유

하둡 MapReduce는 작업 단계마다 디스크 I/O가 많이 발생해서 반복 분석/대화형 분석에서는 느린 경우가 많았습니다.
스파크는 이 한계를 줄이려고 메모리에 데이터를 올려 캐싱하면서 빠르게 처리하는 구조로 발전했습니다.

스파크의 대표 모듈(시험에 나오는 키워드)

  • Spark SQL / DataFrame
  • Structured Streaming
  • MLlib(머신러닝)
  • GraphX(그래프)

⚠️ 함정
“스파크 = 완전 초저지연 실시간”이라고 단정하면 위험!
스파크 스트리밍은 준실시간(처리 방식에 따라 지연이 존재) 개념으로 이해하는 게 안전합니다.

 

 

1-4. 하둡 vs 스파크 차이(표로 정리)

구분 하둡 MapReduce 스파크
처리 방식 단계마다 디스크 I/O 메모리(캐시) 중심 + 필요 시 디스크
속도 반복·대화형 분석에 느림 같은 작업을 훨씬 빠르게 수행 가능
사용성 Map/Reduce 코드 직접 작성 RDD, DataFrame, SQL 등 고수준 API
지원 영역 주로 배치 처리 배치 + 스트리밍 + ML + 그래프
실시간 분석 부적합 Structured Streaming 등으로 가능(준실시간)

✅ 한 줄 결론

  • 하둡 = 대용량 분산 저장 + 배치 처리에 강함
  • 스파크 = 빠른 분석(인메모리) + 다양한 분석 모듈(플랫폼)

2. 데이터의 유형(정형/반정형/비정형)

2-1. 정형 데이터(Structured)

  • 형태(스키마)가 고정되어 있고 바로 연산/집계 가능
  • 보통 관계형 데이터베이스(RDBMS)에 저장
  • 예: 스프레드시트, CSV

2-2. 반정형 데이터(Semi-structured)

  • 형태는 있음(태그/메타데이터/스키마 비슷한 구조), 연산 불가, 파일로 저장
  • 다만 그대로는 분석이 어렵고 파싱/가공이 필요
  • 예: XML, HTML, JSON, 로그

2-3. 비정형 데이터(Unstructured)

  • 고정된 구조가 없음(텍스트, 이미지, 영상 등)
  • 분석을 위해 전처리 난이도↑
  • 저장은 파일/오브젝트 스토리지/NoSQL 등 다양
  • 예: SNS 텍스트, 이미지, 영상

✅ 시험 포인트

  • 반정형 vs 비정형 구분이 자주 나옵니다.
    • 반정형: “구조는 있다(태그/메타)” → 파싱하면 쓸 수 있음
    • 비정형: “구조 자체가 없다” → 전처리부터 필요

3. 분석 과정에서의 오류(로직 오류 vs 프로세스 오류)

3-1. 로직 오류(Logic Error)

분석 논리 자체가 잘못된 경우 (가설/모델/변수 관계 설정의 문제)

 

3-1-1. 예시

  • 가설이 애초에 틀림: “광고 노출이 매출을 올렸다”라고 단정했지만 실제로는 시즌 효과
  • 변수 설정 오류: 원인 변수라고 넣었는데 사실 결과(또는 결과에 가까운 변수)
  • 비교 기준 오류: 기간/집단이 달라서 공정 비교가 불가능한데 억지 비교

✅ 예방 체크

  • “이 변수가 원인인지, 결과에 끼어든 결과 변수인지” 먼저 의심하기
  • 인과/상관 구분(빅데이터에서는 상관 기반 분석이 많음)

3-2. 프로세스 오류(Process Error)

분석 절차 전반에서의 실수/누락 (수집→정제→분석→검증 흐름)

 

3-2-1. 예시

  • 데이터 수집 누락: 특정 채널 데이터가 빠져서 결과가 편향됨
  • 전처리 실수: 결측치 처리/중복 제거 오류로 결과가 달라짐
  • 검증 누락: train/test 분리 잘못, 기간 섞임(시간 누수) 등

✅ 예방 체크(실무에서도 바로 효과 있음)

  • 분석 전: 데이터 범위(기간/대상) 고정 → 문서로 남기기
  • 분석 중: 전처리 로그/코드 기록(재현 가능성)
  • 분석 후: 샘플링 검증(원천과 결과를 몇 줄이라도 직접 대조)