Book/스파크를 다루는 기술

챕터 4. 구조적 API 개요

쟈누이 2022. 4. 18. 17:53
반응형
  1. 스파크 구조적 API 에는 다음과 같은 세가지 분산 컬렉션 API 가 존재
    • DataSet
    • DataFrame
    • SQL 데이터 뷰
  2. 구조적 API 는 데이터 흐름을 정의하는 기본 추상화 개념이며, 기본 3가지 개념이 중요하다
    • 타입형 / 비타입형 API 의 개념과 차이점
    • 핵심 용어
    • 스파크가 구조적 API 의 데이터 흐름을 해석하고 클러스터에서 실행하는 방식
  3. DataFrame 과 Dataset
    • 스파크는 DataFrame 과 Dataset 이라는 구조화된 컬렉션을 가지고 있음
    • 잘 정의된 로우와 컬럼을 가지는 분산 테이블 형태의 컬렉션
    • 불변성을 가진다.
  4. 스키마
    • 스키마는 데이터프레임의 컬럼명과 데이터 타입을 정의함
    • 데이터 소스에서 얻거나 직접 정의할 수 있음
  5. 스파크의 구조적 데이터 타입 개요
    • 실행 계획 수립과 처리에 사용하는 자체 데이터 타입 정보를 가지고 있는 카탈리스트 엔진을 사용 → 카탈리스트 엔진에 대한 설명 (아래 링크 참조)
    • 데이터 프레임을 사용하면 스파크의 최적화된 내부 포맷을 사용할 수 있음데이터 프레임은 row 타입으로 구성된 데이터 셋https://thebook.io/006908/part02/ch05/05/
 

스파크를 다루는 기술: 5.5 카탈리스트 최적화 엔진

 

thebook.io

 

6. 스파크 데이터 타입

# 스칼라에서 데이터 타입을 사용하는 법
import org.apache.spark.sql.types._

val b = ByteType

 

7. 구조적 API 실행 과정

  • 코드를 작성한다
  • 스파크가 논리적 실행 계획으로 변환한다
  • 논리적 실행 계획을 물리적 실행 계획으로 변환하여 그 과정에서 추가적인 최적화를 할 수 있는지 확인한다
  • 스파크는 클러스터에서 물리적 실행 계획을 실행한다.

반응형