← 목록으로
단계 11

시험 대비 & 종합 정리

중간고사(이론)·기말고사 범위 정리, 핵심 개념 체크리스트, 전체 파이프라인 한 장 요약.

중간고사 범위 (1~7주차, 이론)

반드시 설명할 수 있어야 하는 것

  • 빅데이터의 3V(5V) — 각각 예시와 함께
  • 빅데이터가 등장한 배경 3가지
  • 파이프라인 5단계와 각 단계의 대표 도구
  • 배치 vs 스트리밍의 차이와 각각이 적합한 문제
  • Pandas DataFrame에서 선택·필터·집계·조인 코드 읽기
  • 데이터 수집 방식 4가지(파일/DB/API/로그)와 메시지 큐의 역할
  • 분산 저장이 필요한 이유 2가지 (scale-out, fault tolerance)
  • HDFS의 NameNode / DataNode / 블록 / 복제 설명
  • CSV·JSON·Parquet 비교 — 왜 Parquet이 분석에 유리한가
  • 데이터 레이크와 raw/cleaned/curated 계층
  • MapReduce의 map / shuffle / reduce — 워드카운트로 설명
  • YARN이 하는 일
  • Spark가 MapReduce보다 빠른 이유
  • RDD와 DataFrame의 차이, Transformation vs Action, 지연 실행

예상 문제 유형

  1. "다음 시나리오는 배치와 스트리밍 중 무엇이 적합한가? 이유는?"
  2. "HDFS에서 DataNode 하나가 죽으면 무슨 일이 일어나는가?"
  3. "아래 Pandas 코드의 출력 결과를 쓰시오"
  4. "MapReduce로 지역별 매출 합계를 구하는 과정을 map/shuffle/reduce로 서술"
  5. "Spark에서 df.filter(...).groupBy(...).count()를 실행했는데 아무 일도 일어나지 않는 이유"

기말고사 범위 (전체, 이론 + 코드)

중간 범위에 더해:

  • DataFrame / Spark SQL로 필터·집계·조인 작성
  • 파티션, 셔플, 캐싱의 개념과 성능 영향
  • 웨어하우스 vs 레이크 vs 레이크하우스
  • 스타 스키마의 fact / dimension
  • 윈도우 함수 SQL 읽기
  • Iceberg/Delta가 제공하는 것 (ACID, 타임 트래블, 스키마 진화)
  • hdfs://, s3a:// 경로와 s3a 인증 설정
  • 로컬/HDFS/S3에서 같은 코드로 읽는 원리
  • DuckDB / Polars가 Spark 대신 적합한 상황

전체 파이프라인 한 장 요약

[수집]  requests / DB 쿼리 / Kafka
   │         raw (JSON, CSV 그대로)
   ▼
[저장]  로컬 ─ HDFS ─ S3          ← 경로 scheme만 다름
   │         Parquet, 파티션 디렉터리
   ▼
[처리]  Spark DataFrame / SQL      ← filter → select → groupBy/join → write
   │         cleaned / curated, Delta/Iceberg 테이블
   ▼
[분석]  Spark SQL · DuckDB · Polars · Pandas
   │         윈도우 함수, 스타 스키마
   ▼
[활용]  대시보드, 리포트, 발표

종합 프로젝트 / 발표 (15주차) 가이드

  1. 공개 데이터 하나 선정 (수백 MB 이상 권장)
  2. 수집 코드 → raw 저장 (로컬 + S3/MinIO)
  3. Spark로 정제 → Parquet(파티션) 저장
  4. 분석 질문 3개를 Spark SQL 또는 DuckDB로 답하기
  5. 결과를 표/그래프로 정리해 5분 발표

평가 포인트: 각 단계가 왜 필요한지 설명할 수 있는가, 코드가 저장소를 바꿔도 동작하는가, 결과 검증을 했는가.