8. SparkSQL综合作业
综合练习:学生课程分数
网盘下载sc.txt文件,分别用RDD操作、DataFrame操作和spark.sql执行SQL语句实现以下数据分析:
0. 创建RDD,并转换为DataFrame;scm持久化;创建spark.sql临时表等预处理:
RDD:
DataFrame:
spark.sql:
1. 总共有多少学生?
RDD:
DataFrame:
spark.sql:
2. 总共开设了多少门课程?
RDD:
DataFrame:
spark.sql:
3. 每个学生选修了多少门课?
RDD:
DataFrame:
spark.sql:
4. 每门课程有多少个学生选?
RDD:
DataFrame:
spark.sql:
5. 每门课程>95分的学生人数
RDD:
DataFrame:
spark.sql:
6. 课程'Python'有多少个100分?
RDD:
DataFrame:
spark.sql:
7. Tom选修了几门课?每门课多少分?
RDD:
DataFrame:
spark.sql:
8. Tom的成绩按分数大小排序。
RDD:
DataFrame:
spark.sql:
9. Tom选修了哪几门课?
RDD:
DataFrame:
spark.sql:
10. Tom的平均分。
RDD:
DataFrame:
spark.sql:
11. 'OperatingSystem'不及格人数
RDD:
DataFrame:
spark.sql:
12. 'OperatingSystem'平均分
RDD:
DataFrame:
spark.sql:
13. 'OperatingSystem'90分以上人数
RDD:
DataFrame:
spark.sql:
14. 'OperatingSystem'前3名
RDD:
DataFrame:
spark.sql:
15. 每个分数按比例+20平时分。
RDD:
DataFrame:
spark.sql:
16. 求每门课的平均分
RDD:
DataFrame:
spark.sql:
17. 选修了7门课的有多少个学生?
RDD:
DataFrame:
spark.sql:
18. 每门课大于95分的学生数
RDD:
DataFrame:
spark.sql:
19. 每门课的选修人数、平均分、不及格人数、通过率
RDD:
选修人数
平均分
不及格人数
通过率
DataFrame:
spark.sql:
20. 优秀、良好、通过和不合格各有多少人?
RDD:
DataFrame:
spark.sql:
21. 同时选修了DataStructure和 DataBase 的学生
RDD:
DataFrame:
spark.sql:
22. 选修了DataStructure 但没有选修 DataBase 的学生
RDD:
DataFrame:
spark.sql:
23. 选修课程数少于3门的同学
RDD:
DataFrame:
spark.sql:
24. 选修6门及以上课程数的同学
RDD:
DataFrame:
spark.sql:
25. 查询平均成绩大于等于60分的姓名和平均成绩
RDD:
DataFrame:
spark.sql:
26. 找出平均分最高的10位同学
RDD:
DataFrame:
spark.sql: