대용량 데이터 분석 및 전처리 기법

Yuno·2025년 4월 5일

데이터 사이언스

목록 보기
12/25

1️⃣ 대용량 데이터 분석 기법(맵리듀스, 스파크)

✨ 맵리듀스 (MapReduce)

  • 구글에서 빅데이터 처리를 위해 만든 분산 환경의 병렬처리 프로그래밍 모델
  • 데이터가 너무 크면 하나의 서버에서 처리하기 어렵기 때문에 여러 서버에 나눠서 처리

💡 맵 리듀스의 두가지 핵심 함수

  • 맵(Map) : 데이터를 키(Key) 와 값(Value) 으로 변환하고 분류
  • 리듀스(Reduce) : 맵 결과를 그룹화하고, 중복을 줄이며 최종 결과 생성
입력 데이터: ["사과", "사과", "바나나", "사과"](Map)[("사과", 1), ("사과", 1), ("바나나", 1), ("사과", 1)]
셔플 → ("사과", [1, 1, 1]), ("바나나", [1])
리듀스(Reduce)[("사과", 3), ("바나나", 1)]

📍 맵 리듀스 프로세스 요약

데이터 입력 → 맵(Map) → 셔플링(Shuffle) → 리듀스(Reduce) → 결과 출력

✅ 맵 리듀스 장단점

장점단점
단순하고 명확한 구조고정된 데이터에 적합, 유연성 부족
높은 확장성 및 안정성DBMS 대비 성능이 낮을 수 있음

2️⃣ 아파치 스파크(Apache Spark)

  • 하둡과 비슷하지만, 메모리 내에서 빠르게 처리할 수 있도록 만들어진 프레임워크
  • 실시간 데이터 분석이나 반복적인 계산, 머신러닝에 유리한 프레임워크

✨ 스파크 특징

  • 메모리 내 연산으로 하둡 맵리듀스 보다 10-100 배 빠른 성능
  • 다양한 머신러닝 및 스트리밍 데이터 처리 지원
  • RDD(Resilient Distributed Dataset) 라는 데이터 개념 사용

✨ RDD 개념

  • 여러 서버에 분산된 가상의 데이터 형태
  • 오류 복구 기능 내장 (실패 시 자동 복구 가능)
  • Lazy Execution(게으른 실행) : 꼭 필요한 작업 시점에서 실제로 데이터를 처리하여 효율성 극대화

✨ RDD 연산 유형

  • 트랜스포메이션(Transformation) : 새로운 RDD 를 생성하는 명령 (map, filter 등)
  • 액션(Action) : 최종 결과를 생성하는 명령 (collect, count 등)

3️⃣ 하둡(Hadoop) 🆚 스파크(Spark) 비교

구분하둡 (Hadoop)스파크 (Spark)
처리 방식디스크 기반 저장 및 처리 (HDFS)메모리 기반 빠른 처리
데이터 처리 속도상대적으로 느림매우 빠름(메모리 기반 처리)
주요 용도배치 처리실시간 및 반복 계산, 머신 러닝
저장 시스템HDFS(자체 파일 시스템) 보유별도 저장 시스템 필요
장애 대응디스크에 기록하여 복구RDD 기반 복구

4️⃣ 데이터 전처리

  • 데이터를 분석하기 전에 분석에 적합한 형태로 정제 및 변환 하는 과정
  • 숫자 변환, 불필요한 데이터 제거, 결측치 처리 등

✨ 데이터 전처리 과정

  1. 결측치 처리 (빈 값 채우기 등)
  2. 이상치(outlier) 제거 및 조정
  3. 데이터 정규화(normalization) 및 표준화(standardization)
  4. 범주형 데이터 처리 (원-핫 인코딩 등)

🚀 핵심 정리

항목핵심 내용예시
맵리듀스분산 처리 방식. 맵과 리듀스 단계로 데이터 처리단어 개수 세기
스파크메모리 내에서 빠른 데이터 처리. RDD 개념 사용실시간 데이터 처리, 머신러닝
RDD스파크의 분산형 데이터 구조여러 서버에서의 데이터 자동 복구
데이터 전처리분석 전에 데이터를 정리하고 변환하는 과정결측치 채우기, 데이터 정규화
profile
Hello World

0개의 댓글