Dataset对象的创建
创建Dataset可以通过SparkSession中的createDataset来创建,具体代码如下所示。
scala > val personDs=
spark.createDataset(sc.textFile("/spark/person.txt"))
personDs: org.apache.spark.sql.Dataset[String] = [value: string]
scala > personDs.show()
+-------------+
| value |
+-------------+
|1 zhangsan 20|
|2 lisi 29|
|3 wangwu 25|
|4 zhaoliu 30|
|5 tianqi 35|
|6 jerry 40|
+-------------+
从上述返回结果personDs的属性可以看出,Dataset从已存在的RDD中构建成功,并且赋予value为String类型。Dataset和DataFrame拥有完全相同的成员函数,通过show()方法可以展示personDs中数据的具体内容。
Dataset不仅能从RDD中构建,它与DataFrame可以互相转换,DataFrame可以通过“as[ElementType]”方法转换为Dataset,同样Dataset也可以使用toDF()方法转换为DataFrame,具体代码如下所示。
scala> spark.read.text("/spark/person.txt").as[String]
res14: org.apache.spark.sql.Dataset[String] = [value: string]
scala> spark.read.text("/spark/person.txt").as[String].toDF()
res15: org.apache.spark.sql.DataFrame = [value: string]
Dataset操作与DataFrame大致相同,读者可查看官方API http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.Dataset
详细学习更多的Dataset操作。