RDD vs DataFrame in Spark

2024. 9. 24. 10:37·데이터 엔지니어링

데이터 표현 방식

RDD

  • 구조화되지 않은 데이터도 처리할 수 있음
  • 사용자 정의 함수를 통해 데이터 변환하는 데 유연

DataFrame

  • RDD 위에 구조화된 데이터 추가한 것
  • 행과 열로 이루어져 있으며 Pandas의 Dataframe과 유사
  • 명확한 스키마를 가지고 있기에 데이터 처리 및 변환이 직관적이고 효율적

API 수준

RDD

  • 낮은 수준의 API 제공
  • 사용자에게 더 많은 제어권 제공
  • map, reduce, filter 등의 함수형 프로그래밍 연산자 이용해 변환

DataFrame

  • 높은 수준의 API 제공
  • SQL 쿼리와 유사한 방식으로 데이터 처리 -> 직관적
  • 최적화된 실행 계획을 통해 효율적으로 동작

성능 최적화

RDD

  • 사용자 정의함수를 사용하기에 최적화 여지가 적음
  • 실행 계획 최적화하지 않음

DataFrame

  • Catalyst Optimizer라는 최적화 엔진을 사용해 실행계획 최적화
  • -> RDD 보다 빠르고 효율적으로 데이터 처리 가능
'데이터 엔지니어링' 카테고리의 다른 글
  • Airflow에서 Deferrable Operator란?
  • DynamoDB와 Read / Write Capacity
  • 스파크 RDD 이해하기
ssuwani
ssuwani
  • ssuwani
    완두콩
    ssuwani
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • MLOps (19)
      • 데이터 엔지니어링 (4)
      • Kubernetes (5)
      • Kafka (10)
      • 📚책 (3)
      • 라즈베리파이 (1)
      • ETC (8)
      • Python (6)
      • 언어모델 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    auto tagging
    topic
    evidently ai
    LLM
    Schema Registry
    태그1
    Confluent Cloud
    태그2
    MLOps
    BentoML
    Spark
    gcp
    asyncronous
    LangChain
    Kafka
    mlflow
    Prometheus
    Github Actions
    Docker
    Kubernetes
    datadrift
    producer
    redis
    fluentbit
    Airflow
    RDD
    Kubeflow
    Python
    consumer
    FastAPI
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
ssuwani
RDD vs DataFrame in Spark
상단으로

티스토리툴바