spark

1. Spark란?

Apache Spark

대용량 데이터를 빠르게 처리하기 위한 분산 데이터 처리 엔진이다.

💡 한 줄 요약

Spark = 메모리 기반 초고속 분산 처리 시스템


2. 왜 Spark가 등장했을까?

기존의 Apache Hadoop (MapReduce)는:

  • 디스크 기반 처리
  • 속도가 느림
  • 반복 연산에 비효율적

⇒ 이를 개선하기 위해 등장한 것이

Apache Spark

Spark는 데이터를 메모리에 올려서 처리하기 때문에 훨씬 빠르다.


3. Spark의 핵심 특징

1. 메모리 기반 처리 (In-Memory)

디스크가 아니라 RAM에서 처리 → 매우 빠름

2. 분산 처리

여러 서버(노드)가 동시에 작업 수행

3. 다양한 데이터 처리 지원

  • 배치 처리
  • 실시간 스트리밍
  • 머신러닝
  • 그래프 분석
  • SQL 분석

4. Spark 구조

Driver Program
    ↓
Cluster Manager
    ↓
Worker Nodes
    ↓
Executor (Task 수행)

🔹 Driver

  • 전체 작업 제어
  • DAG 생성

🔹 Executor

  • 실제 데이터 처리 수행

5. Spark의 핵심 개념

① RDD (Resilient Distributed Dataset)

Spark의 기본 데이터 구조

  • 불변(immutable)
  • 분산 저장
  • 병렬 처리 가능

② DataFrame

  • 테이블 구조
  • SQL처럼 사용 가능
  • RDD보다 사용하기 편함

③ DAG (Directed Acyclic Graph)

  • 작업 흐름을 그래프로 구성
  • 최적화된 실행 계획 생성

6. Spark vs Hadoop 차이

구분 Hadoop Spark
처리 방식 디스크 기반 메모리 기반
속도 느림 빠름
반복 연산 비효율적 효율적
실시간 처리 어려움 가능

7. Spark 주요 모듈

  • Spark Core → 기본 엔진
  • Spark SQL → SQL 쿼리 처리
  • Spark Streaming → 실시간 데이터 처리
  • MLlib → 머신러닝
  • GraphX → 그래프 분석

8. 빅데이터 분산 프로젝트에서 Spark는?

예를 들어:

🏠 부동산 실거래가 분석

  • 수백만 건 데이터 집계
  • 지역별 평균가 계산
  • 위험도 점수 산출

📊 실시간 모니터링

  • Kafka로 수집
  • Spark Streaming으로 분석
  • 대시보드에 반영

9. 한 줄 정리

Spark는 메모리 기반으로 대용량 데이터를 빠르게 처리하는 분산 데이터 엔진이다.

실제 조합은 어떻게 쓰일까?

🔹 Spark 단독 사용

  • 클라우드 S3 저장
  • 자체 클러스터 사용
  • Kubernetes 위에서 실행

👉 요즘은 이 방식도 많음


🔹 Hadoop + Spark 같이 사용

HDFS (저장)
   ↓
Spark (처리)

이 조합이 전통적인 빅데이터 구조

역할 분리

역할 담당
저장 HDFS
계산 Spark
자원관리 YARN

그럼 꼭 같이 써야 하나?

Spark는:

  • HDFS
  • S3
  • MySQL
  • Kafka
  • 로컬 파일

다 읽을 수 있다.

즉,

Spark는 저장소에 종속되지 않는다.

results matching ""

    No results matching ""