반응형
- 스파크 구조적 API 에는 다음과 같은 세가지 분산 컬렉션 API 가 존재
- DataSet
- DataFrame
- SQL 데이터 뷰
- 구조적 API 는 데이터 흐름을 정의하는 기본 추상화 개념이며, 기본 3가지 개념이 중요하다
- 타입형 / 비타입형 API 의 개념과 차이점
- 핵심 용어
- 스파크가 구조적 API 의 데이터 흐름을 해석하고 클러스터에서 실행하는 방식
- DataFrame 과 Dataset
- 스파크는 DataFrame 과 Dataset 이라는 구조화된 컬렉션을 가지고 있음
- 잘 정의된 로우와 컬럼을 가지는 분산 테이블 형태의 컬렉션
- 불변성을 가진다.
- 스키마
- 스키마는 데이터프레임의 컬럼명과 데이터 타입을 정의함
- 데이터 소스에서 얻거나 직접 정의할 수 있음
- 스파크의 구조적 데이터 타입 개요
- 실행 계획 수립과 처리에 사용하는 자체 데이터 타입 정보를 가지고 있는 카탈리스트 엔진을 사용 → 카탈리스트 엔진에 대한 설명 (아래 링크 참조)
- 데이터 프레임을 사용하면 스파크의 최적화된 내부 포맷을 사용할 수 있음데이터 프레임은 row 타입으로 구성된 데이터 셋https://thebook.io/006908/part02/ch05/05/
6. 스파크 데이터 타입
# 스칼라에서 데이터 타입을 사용하는 법
import org.apache.spark.sql.types._
val b = ByteType
7. 구조적 API 실행 과정
- 코드를 작성한다
- 스파크가 논리적 실행 계획으로 변환한다
- 논리적 실행 계획을 물리적 실행 계획으로 변환하여 그 과정에서 추가적인 최적화를 할 수 있는지 확인한다
- 스파크는 클러스터에서 물리적 실행 계획을 실행한다.
반응형
'Book > 스파크를 다루는 기술' 카테고리의 다른 글
챕터 6.1 API 는 어디서 찾을까 (0) | 2022.05.30 |
---|---|
[스파크] 2. 스파크 함수 (0) | 2022.01.23 |
[스파크] 1. RDD 의 기본 행동 연산자 및 변환 연산자 (0) | 2022.01.22 |