学科分类
目录
Spark技术栈

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操作。

点击此处
隐藏目录