习题 13:Case Class 转 DataFrame
题目:定义 case class Person,读取 CSV 数据转换为
DataFrame,按家乡分组统计平均年龄。
import org.apache.spark.sql.SparkSession
case class Person(name: String, age: Int, home: String)
object TestCaseClass {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().master("local").getOrCreate()
import spark.implicits._
val rdd = spark.sparkContext.textFile("input/data.txt")
val df = rdd.map(line => line.split(","))
.map(a => new Person(a(0), a(1).toInt, a(2)))
.toDF()
df.show()
df.groupBy(df("home")).avg("age").show()
}
}