1)pyspark交互式编程
(1)该系总共有多少学生(代码及其结果如下图所示);
(2)该系共开设了多少门课程(代码及其结果如下图所示);
(3)Tom同学的总成绩平均分是多少(代码及其结果如下图所示);
(4)求每名同学的选修的课程门数(代码及其结果如下图所示);
(5)该系DataBase课程共有多少人选修(代码及其结果如下图所示);
(6)各门课程的平均分是多少(代码及其结果如下图所示);
(7)使用累加器计算共有多少人选了DataBase这门课(代码及其结果如下图所示):
2)编写独立应用程序实现数据去重
(1)对于两个输入文件A和B,编写Spark独立应用程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新文件C。首先创建C.py文件,导入SparkContext。导入A,B文件,使用union方法合并两文件并使用distinct方法去重,然后使用sortBy方法进行排序。最后将结果放入result文件中,如下图所示。
(2)运行C.py文件,得到结果文件part-00000,如下图所示。
(3)最终结果如下图所示。
3)编写独立应用程序实现求平均值问题
(1)编写Spark独立应用程序求出所有学生的平均成绩,并输出到一个新文件中。首先创建avg_sc.py文件,加载三个文件生成RDD,然后合并三个文件并做拆分。最后使用reduceByKey方法进行分组统计。
(2)运行avg_sc.py文件,得到结果文件part-00000,如下图所示。
(4)最终结果如下图所示。