다른 명령
데이터프레임
- RDD와 같이 데이터프레임은 클러스터상의 여러 노드에 분산된 이뮤터블 데이터 집합
- RDD와는 달리 데이터프레임의 데이터는 칼럼명으로 이루어짐 (pandas의 데이터프레임과 비슷한 개념)
- 데이터프레임은 큰 데이터셋을 쉽게 처리하기위해 디자인 됨
- 데이터프레임으로 데이터의 구조를 공식화할 수 있으며, 상위 계층에 대한 추상화도 가능
- 이러한 점에서 데이터프레임은 관계형 데이터베이스의 테이블과 비슷하다.
- 각 주제별 API들을 제공
- 스파크 엔진은 최초에 논리적인 실행 계획을 작성하고 물리적 플랜에 의해 생성된 코드를 실행 함
- 이 물리적 플랜은 비용 옵티마이저(cost optimizer)에 의해 결정됨
- 이는 데이터프레임의 가장 큰 장점 중 하나로, 자바나 스칼라에 비교해 파이썬에서는 상당히 느린 RDD와 다르게 데이터프레임은 모든 언어에 균일한 성능을 나타냄
데이터셋
- 스파크 데이터셋의 목적은 사용자가 도메인 객체에서 트랜스포메이션을 쉽게 표현할 수 있는 API를 제공하고, 또한 견고한 스파크 SQL 실행 엔진의 성능과 장점을 제공하는 것
- 현재는 자바와 스칼라에서만 데이터셋이 사용 가능
카탈리스트 옵티마이저
- 스파크SQL은 SQL 쿼리와 데이터프레임 API를 모두 강화시키기 때문에 아파치 스파크에서 가장 기술적으로 발전되고 디자인된 구성요소
- 스파크 SQL 코어에는 카탈리스트 옵티마이저가 있고, 이 옵티마이저는 함수 프로그래밍 구조에 기반하고 있으며 두가지 목적을 위해 디자인되었음
- 새로운 최적화 기술과 스파크 SQL 피처를 쉽게 추가하기 위해
- 외부 개발자들이 옵티마이저를 확장시킬 수 있도록 하기위해