8、spark综合作业

综合练习

一、DataFrame操作

1.创建RDD,并转换得到DataFrame

> 生成表头

fields = [StructField('name',StringType(),True),StructField('course',StringType(),True),StructField('score',StringType(),True)]

> 读取数据并处理

lines = spark.sparkContext.textFile('file:///root/tools/sc.txt')

> 拼接表头和表中的数据

data = lines.map(lambda p:Row(p[0],p[1],int(p[2])))
df = spark.createDataFrame(data,schema)

> 展示数据

2.总共有多少个学生

3.总共开设了多少门课程?

4.每个学生选修了多少门课?

5.每门课程>95分的学生人数

6.课程'Python'有多少个100分?

7.Tom选修了几门课?每门课多少分?

8.Tom的成绩按分数大小排序。

9.Tom选修了哪几门课?(重复了,见第7)

10.Tom的平均分。

11.'OperatingSystem'不及格人数

12.'OperatingSystem'平均分

13.'OperatingSystem'90分以上人数

14.'OperatingSystem'前3名

15.每个分数按比例+20平时分。

16.求每门课的平均分

17.选修了7门课的有多少个学生?

18.每门课大于95分的学生数

19.每门课的选修人数、平均分、不及格人数、通过率

20.优秀、良好、通过和不合格各有多少人?

21.同时选修了DataStructure和 DataBase 的学生

22.选修了DataStructure 但没有选修 DataBase 的学生

23.选修课程数少于3门的同学

24.选修6门及以上课程数的同学

25.查询平均成绩大于等于60分的姓名和平均成绩

26.找出平均分最高的10位同学

27.求每门课的最高分和最低分

二、spark.sql操作

1.创建临时表

2.总共有多少学生?

3.总共开设了多少门课程?

4.每个学生选修了多少门课?

5.每门课程有多少个学生选?

6.每门课程>95分的学生人数

7.课程'Python'有多少个100分?

8.Tom选修了几门课?每门课多少分?

9.Tom的成绩按分数大小排序。

10.Tom选修了哪几门课?

11.Tom的平均分。

12.'OperatingSystem'不及格人数

13.'OperatingSystem'平均分

14.'OperatingSystem'90分以上人数

15.'OperatingSystem'前3名

16.每个分数按比例+20平时分。

17.求每门课的平均分

18.选修了7门课的有多少个学生?

19.每门课大于95分的学生数(与第5.重复了)

20.每门课的选修人数、平均分、不及格人数、通过率


21.优秀、良好、通过和不合格各有多少人?


22.同时选修了DataStructure和 DataBase 的学生


23.选修了DataStructure 但没有选修 DataBase 的学生


24.选修课程数少于3门的同学

25.选修6门及以上课程数的同学

26.查询平均成绩大于等于60分的姓名和平均成绩

27.找出平均分最高的10位同学

28.求每门课的最高分和最低分


三、RDD操作

1.总共有多少学生?

2.总共开设了多少门课程?

3.每个学生选修了多少门课?

4.每门课程有多少个学生选?

5.每门课程>95分的学生人数

6.课程'Python'有多少个100分?

7.Tom选修了几门课?每门课多少分?

8.Tom的成绩按分数大小排序。

9.Tom选修了哪几门课?

10.Tom的平均分。

11.'OperatingSystem'不及格人数

12.'OperatingSystem'平均分

13.'OperatingSystem'90分以上人数

14.'OperatingSystem'前3名

15.每个分数按比例+20平时分。

16.求每门课的平均分

17.选修了7门课的有多少个学生?

18.每门课大于95分的学生数

19.每门课的选修人数、平均分、不及格人数、通过率


20.优秀、良好、通过和不合格各有多少人?

21.同时选修了DataStructure和 DataBase 的学生

22.选修了DataStructure 但没有选修 DataBase 的学生

23.选修课程数少于3门的同学

24.选修6门及以上课程数的同学

25.查询平均成绩大于等于60分的姓名和平均成绩

26.找出平均分最高的10位同学

27.求最高分和最低分

posted @ 2022-05-25 11:54  牛蛙点点  阅读(107)  评论(0编辑  收藏  举报