- (Spark) Resilient Distribute Dataset
스파크에서 가장 기본이 되는 데이터 객체
특징
- 불변성(immutable): 읽기 전용
- 복원성(resilient): 장애 내성
- 분산성(distributed): 노드 한 개 이상에 저장된 데이터셋
데이터 저장 형태
- 데이터프레임과 달리 여러 타입의 데이터 형태 저장 가능
- Int, Char, Bool 등의 개별 데이터
- List, Array 등의 데이터 컬렉션
- Scala/Java 등의 객체
데이터프레임과의 차이
- RDD는 반정형 데이터 또한 처리 가능
- 엄격한 Schema를 요구하지 않음
- select, where 등 SQL-like 문법 사용 불가
- RDD가 Dataframe, Dataset의 기반이 되는 객체
- RDD를 이용해 Dataframe, Dataset을 만들 수 있음
- RDD를 직접 사용할 경우 Catalyst Optimizer 사용 불가