1 给定数据如下:
班级ID 姓名 年龄 性别 科目 成绩
12 张三 25 男 chinese 50
12 张三 25 男 math 60
12 张三 25 男 english 70
12 李四 20 男 chinese 50
12 李四 20 男 math 50
12 李四 20 男 english 50
12 王芳 19 女 chinese 70
12 王芳 19 女 math 70
12 王芳 19 女 english 70
13 张大三 25 男 chinese 60
13 张大三 25 男 math 60
13 张大三 25 男 english 70
13 李大四 20 男 chinese 50
13 李大四 20 男 math 60
13 李大四 20 男 english 50
13 王小芳 19 女 chinese 70
13 王小芳 19 女 math 80
13 王小芳 19 女 english 70
2 需求及解答详见代码
package scala.day02
import org.apache.spark.rdd.RDD
import org.apache.spark.{
SparkConf, SparkContext}
/**
* Author:SZX
* Date:2020/10/19 20:34
* Version:1.0
* Description:
*/
object exercise2 {
case class Person(classID: Int, name: String, age: Int, sex: String, keMu: String, score: Int)
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("SparkWordCount").setMaster("local")
val sc = new SparkContext(conf)
sc.setLogLevel("WARN")
val rdd1: RDD[String] = sc.textFile("E:\\test\\student.txt")
val rdd: RDD[(String, String, String, String, String, String)] = rdd1.map(x => {
val line = x.split(" ");
(line(0), line(1), line(2), line