RDD、DF和DS的共性与区别

  共性:

    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效率最高

猜你喜欢

转载自www.cnblogs.com/dretrtg/p/12662570.html
今日推荐