案例:
根据学科取得最受欢迎的老师的前两名
这个是数据
http://bigdata.edu360.cn/zhangsan
http://bigdata.edu360.cn/zhangsan
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/wangwu
http://bigdata.edu360.cn/wangwu
http://javaee.edu360.cn/zhaoliu
http://javaee.edu360.cn/zhaoliu
http://javaee.edu360.cn/laoyang
http://javaee.edu360.cn/laoyang
http://javaee.edu360.cn/laoyang
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/wangwu
http://bigdata.edu360.cn/wangwu
http://javaee.edu360.cn/zhaoliu
http://javaee.edu360.cn/zhaoliu
http://javaee.edu360.cn/laoyang
http://javaee.edu360.cn/laoyang
http://javaee.edu360.cn/laoyang
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/lisi
http://bigdata.edu360.cn/wangwu
http://bigdata.edu360.cn/wangwu
http://javaee.edu360.cn/zhaoliu
http://javaee.edu360.cn/zhaoliu
http://javaee.edu360.cn/laoyang
http://javaee.edu360.cn/laoyang
http://javaee.edu360.cn/laoyang
http://python.edu360.cn/laoli
http://python.edu360.cn/laoliu
http://python.edu360.cn/laoli
http://python.edu360.cn/laoli
`基本写法` ------->在List中进行排序会产生内存溢出
package day03
/**
*
* 根據學科取得最受欢迎的老师前2名
*/
import java.net.URL
import org.apache.log4j.{Level, Logger}
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object FavTeacherWithObject {
def main(args: Array[String]): Unit = {
Logger.getLogger("org.apache.spark").setLevel(Level.OFF)
val conf = new SparkConf()
conf.setAppName("FavTeacher").setMaster("local[2]") //local[*]表示用多个线程跑,2表示用两个线程
val sc = new SparkContext(conf)
//读取数据
val lines: RDD[String] = sc.textFile("D:\\data\\teacher.log")
//整理数据,每个老师记一次数
val subjectAddTeacher: RDD