spark RDD、DataFrame、DataSet之间的相互转化

 

这三个数据集看似经常用,但是真正归纳总结的时候,很容易说不出来

三个之间的关系与区别参考我的另一篇blog  http://www.cnblogs.com/xjh713/p/7309507.html

 

则三个用代码转换如下:

 

1.RDD -> Dataset 
val ds = rdd.toDS()

2. RDD -> DataFrame 
    val df = spark.read.json(rdd)

3. Dataset -> RDD
    val rdd = ds.rdd

4. Dataset -> DataFrame
    val df = ds.toDF()

5. DataFrame -> RDD
    val rdd = df.toJSON.rdd

6. DataFrame -> Dataset
    val ds = df.toJSON

 

也许还有更好的办法,比如有些不一定是转换成json.....  等待大神补充

 

posted @ 2017-09-06 10:11  新际航  阅读(868)  评论(0编辑  收藏  举报