test.txt数据如下(都是按空格分隔的):
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
import org.apache.spark.rdd.RDD
import org.apache.spark.{
SparkConf, SparkContext}
object student1 {
def main(args: Array[String]): Unit = {
// 17.一共有多少个小于20岁的人参加考试?
//创建Spark配置对象
val conf = new SparkConf();
conf.setAppName("WordCountSpark")
//设置master属性
conf.setMaster("local") ;
//通过conf创建sc
val sc = new SparkContext(conf);
val value: RDD[Array[String]] = sc.textFile("E:\\Dashuju\\hadoop\\data\\spark\\test.txt").map(a => a.split(" "))
val rdd2 = value.map(x => (x(0), x(1), x(2), x(3), x(4), x(5)))
// 16.一共有多少人参加考试?
val rdd3: Long = rdd2.groupBy(_._2).count()
// 17.一共有多少个小于20岁的人参加考试?
val a1 = rdd2.filter(_._3.toInt < 20).groupBy(_._2)count()
println("一共有"+a1+"个小于20岁的人参加考试")
// 18.一共有多少个等于20岁的人参加考试?
val a2= rdd2.filter(_._3.toInt == 20).groupBy(_._2)count()
println("一共有"+a2+"个等于于20岁的人参加考试")
// 19. 一共有多少个大于20岁的人参加考试?
val a3= rdd2.filter(_._3.toInt > 20).groupBy(_._2)count()
println("一共有"+a3+"个大于于20岁的人参加考试")
// 20. 一共有多个男生参加考试?
val a4 = rdd2.filter(_._4.equals(