RDD (Spark1.0) —> Dataframe(Spark1.3) —> Dataset(Spark1.6)

1.0부터 쓰여져 온 RDD에서부터 1.6 에서 새로이 쓰일 Dataset까지 위와 같은 양상으로 진화해왔어.

같은 데이터가 주어졌을 때 세 데이터 타입은 정확히 같은 결과물을 유저에게 선사하기 때문에 이걸 왜 분간해서 써야하는지 처음 사용하는 유저들은 햇갈릴거야.

하지만 서로 각각 차이점이 존재해.

RDD는 어떻게 우리가 원하는 것을 할지 결정할 수 있지만 이로인해 최적화에 대한 사항을 유저들이 잘 다루지 못하는 반면

Dataframe/Dataset 들은 뭘 할지 목표 설정과 어떻게 결과물을 산출해낼지에 대해 결정할 수 있는 권한을 동시에 다 줘.


그럼 Dataframe과 Dataset의 차이점을 뭘까?

Dataframe은  RDD에 비해 지대한 성능 개선을 이뤘지만 단점이 없진 않고,

이런 이유로 RDD와 Dataframe의 최대 장점을 통합한 Dataset이 개발 되었어.


뭐 결국 미래에는 Dataset이 RDD와 Dataframe을 제치고 유일한 spark API로서 사용되겠지.