[Spark] Spark DataFrame / SQL

박제연·2022년 10월 8일
0

ybitga

목록 보기
3/3
  • 목표

    1. 정형 데이터를 쉽게 다룰 수 있는 Spark Dataframe, Dataset에 대해 이해한다
    2. Spark DataFrame, DataSet 에 대해 SQL 연산을 수행해본다
  • Spark SQL 특징

    1. Integrated
      • spark와 sql 쿼리를 원활하게 결합
      • Spark SQL은 Spark 내에 RDD 형태로 저장돼있는 정형 데이터를 통합된 API로 Qeury할 수 있게 한다
    2. Unified Data Access
      • 다양한 소스로부터 데이터를 load, query할 수 있다
    3. Standard Connectivity
  • DataFrame

    • RDD+Schema
    • 관계형 데이터베이스의 테이블
    • 대량의 데이터를 처리하기 용이하게 디자인됨
  • RDD vs DataFrame

    • RDD: 데이터에 대한 설명이 안들어가 있음
    • DataFrame: 데이터에 대한 설명이 있음
  • Programming Interface

    • 중간과정 Spark SQL에서 통합적으로 사용하는 DF API를 사용하고, 우리가 볼 수 있는 상태로 보여줌
    • Catalyst: 연산최적화 해줌(?)
  • DataSet

    • DataFrame과 거의 비슷한데, DF API가 DataSet API에 통합됐다. DataSet이 더 큰 개념
    • DF는 Row로 이루어진 DataSet임. DF = DataSet[Row]
    • DataSet은 Row 이외에도 다양한 형식을 가질 수 있음
  • 차이: 스키마의 추정이 언제 일어나는 가? 의 차이

    • DF: 런타임에 Schema 추정(데이터를 받아온 시점)
    • DataSet: 컴파일 타임에 Schema를 정함. 에러를 쉽게 찾고, 최적화가 잘됨. 컴파일 기반의 언어에서만 사용가능(파이썬에서 no)
  • RDD vs Spark SQL

profile
읏차 웃자

0개의 댓글