defprogrammatically(spark: SparkSession): Unit = { // RDD=>DF时需要的隐式转换 import spark.implicits._
// 创建RDD val rdd = spark.sparkContext.textFile("spark-sql/data/info.txt")
// STEP1: RDD[String] ==> RDD[Row] val infoRDD: RDD[Row] = rdd.map(x => { val splits = x.split(",") val id = splits(0).trim.toInt val name = splits(1).trim val age = splits(2).trim.toInt Row(id, name, age) })
defreflection(spark: SparkSession): Unit = { // RDD=>DF时需要的隐式转换 import spark.implicits._
// 创建RDD val rdd = spark.sparkContext.textFile("spark-sql/data/info.txt")
// RDD[String] => case class val infoDF = rdd.map(x => { val splits = x.split(",") val id = splits(0).trim.toInt val name = splits(1).trim val age = splits(2).trim.toInt Info(id, name, age) }).toDF() // 最终转成DF