概要 Sparkでのプログラミングは、Scalaのコレクションの関数の記述と似ている。 ScalaのコレクションではRangeやList等のインスタンスを作ってそれに対してmapやfilter関数を呼び出すが、 SparkではまずSpark用のオブジェクトを作り、そこからコレクションっぽいオブジェクトやファイルを読み込むイテレーターを生成する。 当初のSparkではRDDというクラスを使ってプログラミングしていたが、 Spark1.3からDataFrameというクラスが導入され、 Spark1.6からDatasetというクラスが導入された。Spark2.0ではDatasetが正式となっている。 RDDよりもDataFrameの方が(最適化が効いて)高速だが型情報が消えてしまう為、Datasetを使うのが良い。(DataFrameはDatasetに統合されている) 参考: yubessyさん