首頁(yè)技術(shù)文章正文

怎樣創(chuàng)建Dataset對(duì)象?

更新時(shí)間:2021-09-08 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

創(chuàng)建Dataset可以通過(guò)SparkSession中的createDataset來(lái)創(chuàng)建,具體代碼如下。

scala >val personDs=

spark.createDataset(sc.textFile("/spark/person.txt"))

personDs:org.apache.spark.sq1.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            |

+- - -  - - - - - - -- - - +

從上述返回結(jié)果personDs 的屬性可以看出,Dataset從已存在的RDD中構(gòu)建成功,并且賦Fvalue為String類型。Dataset和DataFrame擁有完全在相同的成員函數(shù),通過(guò)show方式可以展示personDs中數(shù)據(jù)的具體內(nèi)容。

Dataset不僅能從RDD中構(gòu)建,它與DataFrame也可以互相轉(zhuǎn)換,DataFrame可以通過(guò)as[ElementType]方法轉(zhuǎn)換為Dataset,同樣Dataset 也可以使用toDF()方法轉(zhuǎn)換為DataFrame,具體代碼如下:

scala>spark.read.text("/spark/person.txt".as[String]
res14:org.apache.spark.sql.Dataset[string]=[value: string]
scala>spatk.read.text("/spark/person.txt").as[String].toDF()
Res15:org.apache.spark.sql.DataFrame=[value: string]

Detaset操作:與 DeuaFreme 大致相同,讀者可查看官方API http://spark  apache.org/dsats/api/scall index.html#org.apche,spark.sql.Dataset詳細(xì)學(xué)習(xí)更多的Dataset操作。






猜你喜歡:

DataFrame是什么?與RDD有什么區(qū)別?

DataFrame的創(chuàng)建方法【大數(shù)據(jù)文章】

Scala子類繼承父類的方法【黑馬程序員】

黑馬程序員python大數(shù)據(jù)培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!