RDD:只关注数据本身,不关注数据代表的含义
DataFrame:就是在 RDD 的基础上,加上结构,赋予数据的含义,类似 Sql 里面的表
图解:
转换关系如上
dataSet:dateSet 就是在 DateFrame 的基础上增加一个强类型的概念,就是我自己去定义属性是什么类型,而不是靠读取数据定义类型
图解:
DataSet 和 DF 之间的转换图解:
RDD 与 DataSet 之间的转换,如果一层一层的来,太麻烦了,一步转换的方法如下
rdd 转换成 DataSet:
val rdd = sc.makeRDD(List(Emp(30,"zhangsan"),Emp(40,"lisi")))
rdd.toDS
DataSet 转换成 rdd 的方法
val rdd1 = ds.toRDD