object Spark_Transform { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().appName("Spark_Transform").master("local[2]").getOrCreate() val rdd = spark.sparkContext.makeRDD(List((1,"zhangshan",30),(2,"lisi",40),(1,"wangwu",20))) //将rdd转化为df import spark.implicits._ //第一种方式转为DF // val infoDF = rdd.map(_.split(",")).map(line => Info(line(0).toInt, line(1), line(2).trim.toInt)).toDF() // infoDF.show() //第二种方式转为DF val df: DataFrame = rdd.toDF("id", "name", "age") //转化为ds val ds: Dataset[Info] = df.as[Info] //转化为df val df1: DataFrame = ds.toDF() //转化为rdd val rdd1: RDD[Row] = df1.rdd rdd1.foreach(row=>{ println(row.getAs("id")) }) spark.stop() } case class Info(id: Int, name: String, age: Int) }
Sparksql学习篇RDD、DF、DS相互转化
最新推荐文章于 2022-07-20 09:52:00 发布