共性:
1、都是spark平台下的分布式弹性数据集
2、都有惰性机制,创建、转换如map操作时不会立即执行,遇到foreach等Action算子时才开始运算。
3、都会自动缓存计算
4、都有partition概念
区别:
1、RDD不支持sparkSQL操作
2、DF每一行类型固定为Row,只有通过解析才能获取值。如 line.getAs[String]("col1")
3、DF和DS支持sparkSQL
4、DF和DS支持方便地保存文件格式,可以直接指定。
5、DF每一行类型不固定,所以在Scala中用case class作模式匹配来校正
6、DS效率最高
原文:https://www.cnblogs.com/dretrtg/p/12662570.html