在SPARK中实现RDD编程

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)最终结果如下图所示。

上一篇:Spark和Java API(四)分区


下一篇:6.3.2 Spark GraphX【存储模式、核心数据结构、计算(图基本操作、连通图算法、寻找相同用户,合并)】