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

时间:2022-01-05 13:22:54

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

三个之间的关系与区别参考我的另一篇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.....  等待大神补充