DataSet编程
DataSet是分布式数据集合,是DataFrame的一个扩展,是强类型的,可以使用如DataSet[User]。
DataFrame其实是DataSet的一个特例,DataFrame=DataSet[Row],DataFrame每一行的类型都是Row,每一列的值无法直接访问,需要进行解析,比较麻烦,而使用DataSet,可以自己定义数据每行的类型
DataSet是强类型的数据集合,类型一般使用的是样例类
创建DataSet
首先定义一个样例类
1 | case class User(name:String,age:Long) |
可以使用样例类的序列来创建DataSet
1 | // caseDS: org.apache.spark.sql.Dataset[User] = [name: string, age: bigint] |
也可以使用RDD来转换为DataSet
1 | // rdd: org.apache.spark.rdd.RDD[User] |
也可以使用DataFrame来转换为DataSet
1 | // 首先使用上述的rdd来映射为dataFrame |