SparkSQL综合作业

网盘下载sc.txt文件,分别用RDD操作、DataFrame操作和spark.sql执行SQL语句实现以下数据分析:

 

   0. 创建RDD,并转换为DataFrame;scm持久化;创建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:(保留了2位小数,round())

       

    11. 'OperatingSystem'不及格人数

      RDD:

      DataFrame:

      spark.sql:

       

    12. 'OperatingSystem'平均分

      RDD:

      DataFrame:

      spark.sql:(保留了2位小数,round())

    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:

posted @ 2022-05-23 21:02  郑在亮  阅读(91)  评论(0编辑  收藏  举报