DataFrame与rdd之间的转换(val rdd1 = dataFrame.rdd)
核心语句val rdd1 = dataFrame.rdd
package SparkSQL.DataFreamCreate.dataframetordd import org.apache.spark.SparkConf import org.apache.spark.rdd.RDD import org.apache.spark.sql.types.{DataTypes, StructField, StructType} import org.apache.spark.sql.{DataFrame, Row, SparkSession} import scala.beans.BeanProperty object dftordd1 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("dataFrameCreate").setMaster("local[*]") val sparkSession = SparkSession.builder().config(conf).getOrCreate() val seq:Seq[Student] = Array(Student("zs",20,"男"),Student("ls",21,"女"),Student("ww",22,"男")) val rdd:RDD[Student] = sparkSession.sparkContext.makeRDD(seq) val dataFrame:DataFrame = sparkSession.createDataFrame(rdd,classOf[Student]) dataFrame.show() val rdd1 = dataFrame.rdd val rdd2: RDD[Row] = rdd1.map(row => { Row(row.getAs[String]("name"), row.getAs[Int]("age") + 5, row.getAs[String]("sex")) }) val structType = StructType(Array( StructField("name", DataTypes.StringType), StructField("age", DataTypes.IntegerType), StructField("sex", DataTypes.StringType) )) val frame: DataFrame = sparkSession.createDataFrame(rdd2, structType) frame.show() } } case class Student(@BeanProperty var name:String,@BeanProperty var age:Int,@BeanProperty var sex:String)
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/16638035.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?