概要 RDDはScalaのコレクションのSeqのようなもので、データを順番に保持している。 RDDの内部はパーティションに分かれている。 パーティション毎に別々のサーバーでデータを保持する。したがって、分散処理する際にはパーティション毎に並列に処理される。 mapやfilter等の基本的な操作の場合、データの順序は変わらない。 処理によっては、データの順序が変わることがある。(データの順序が保持されない) (例えば重複データの無いRDDであっても、distinctの後は順序が変わってしまう) 「パーティションをどう分けるか」を決めるPartitionerというクラスもあるが、RDDが必ずPartitionerを保持しているとも限らない。 Sparkのパーティション数は、100~1万くらいにするのが良いそうだ。 実際の処理はパーティション単位で並列に実行されるので、各パーティションが各サーバ