김학진
@mildsalmon
흔치않고, 진귀하다.
2023년 11월 12일 · 26분 분량
RDD(Resilient Distributed Dataset)는 Apache Spark의 핵심 개념으로, 분산 환경에서 병렬로 처리될 수 있는 불변의 데이터 컬렉션이다. RDD는 불변성, 탄력성, 분산 처리의 특징을 가지며, transformation과 action을 통해 작업을 수행한다. RDD는 Spark의 초기 데이터 추상화 모델이며, DataFrame과 Dataset과 같은 고수준의 추상화가 도입되었다. RDD의 주요 문제로는 사용자가 연산 함수 안에서 무엇을 하는지 스파크가 알 수 없었고, 데이터 압축 기술을 적용하기 어려웠다. Spark의 구조 확립을 위해 일상적인 패턴을 사용하여 연산을 표현하고, 지원 언어에서의 API 사용이 가능해졌다. 스파크의 핵심 장점과 이득구조를 갖추면 더 나은 성능과 공간 효율성을 얻을 수 있다. Spark DataFrame은 이름 있는 컬럼과 스키마를 가진 분산 인메모리 테이블의 역할을 하며, 스파크의 기본 데이터 타입과 정형화 타입을 지원한다. 스키마와 데이터 프레임을 미리 정의하는 것은 스파크의 성능과 비용을 개선하는데 도움이 된다.