耐障害性分散データセット(RDD)とは、Spark のリリース以降、Spark の主要なユーザー向け API として利用されてきました。RDD は、クラスタ内の複数のノードに配置されたデータ要素の不変の集合体であり、変換その他の操作のための基礎的な API と並行して使用することが可能です。 RDD の使用が適した 5 つのケース データセットに対し、低レベルの変換やアクション、管理を実行する場合 所有データがメディアストリームやテキストストリームなどの非構造化データである場合 ドメイン固有言語ではなく、関数型プログラミングでデータを処理する場合 名前や列によるデータ属性の処理や、アクセスの際に、列指向フォーマットなどのスキーマの指定を厭わない場合 構造化・半構造化データに対する DataFrames や Datasets の最適化機能や性能を必要としない場合 Apache Spark 2.0 における RDD の役割 RDD が不要になり、廃止されることはありません。さらに言うと、DataFrame や Dataset と RDD の間では、シンプルな API メソッドを呼び出すことによりシームレスな移動が可能で、DataFrame や Dataset は、RDD を基盤としています。 関連資料 Apache Spark の 3 つの API について:RDD 対 DataFrames と Datasets 耐障害性分散データセット(RDD):インメモリクラスタコンピューティングのためのフォールトトレラントな抽象化(リサーチペーパー)