文章目录
-
-
-
- 班级 ID 姓名 年龄 性别 科目 成绩
- 1 . 一共有多少人参加考试?
- 1.1 一共有多少个小于 20 岁的人参加考试?
- 1.2 一共有多少个等于 20 岁的人参加考试?
- 1.3 一共有多少个大于 20 岁的人参加考试?
- 2. 一共有多个男生参加考试?
- 2.1 一共有多少个女生参加考试?
- 3. 12 班有多少人参加考试?
- 3.1 13 班有多少人参加考试?
- 4. 语文科目的平均成绩是多少?
- 4.1 数学科目的平均成绩是多少?
- 4.2 英语科目的平均成绩是多少?
- 5. 单个人平均成绩是多少?
- 6. 12 班平均成绩是多少?
- 6.1 12 班男生平均总成绩是多少?
- 6.2 12 班女生平均总成绩是多少?
- 7. 全校语文成绩最高分是多少?
- 7.1 12 班语文成绩最低分是多少?
- 7.2 13 班数学最高成绩是多少?
- 8. 总成绩大于 150 分的 12 班的女生有几个?
-
-
给定数据如下:
班级 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
val conf=new SparkConf().setMaster("local[2]").setAppName("sparkTest")
val sc=SparkContext.getOrCreate(conf)
val p=sc.textFile("D:\\test\\student.txt")
1 . 一共有多少人参加考试?
println(p.collect.map(_.split("\\s+")).transpose.apply(1).distinct.size)
1.1 一共有多少个小于 20 岁的人参加考试?
println(p.collect.map(_.split("\\s+")).filter(x => x(2).toInt < 20).groupBy(x => x(1)).size)
1.2 一共有多少个等于 20 岁的人参加考试?
println(p.collect.map(_.split("\\s+")).filter(x => x(2).toInt == 20).groupBy(x => x(1)).size)
1.3 一共有多少个大于 20 岁的人参加考试?
println(p.collect.map(_.split("\\s+")).filter(x => x(2).toInt > 20).groupBy(x => x(1)).size)
2. 一共有多个男生参加考试?
println(p.collect.map(_.split("\\s+")).filter(x => x(