RDD编程初级实践
一、pyspark交互式编程
本作业提供分析数据data.txt,该数据集包含了某大学计算机系的成绩,数据格式如下所示:
Tom,DataBase,80
Tom,Algorithm,50
Tom,DataStructure,60
Jim,DataBase,90
Jim,Algorithm,60
Jim,DataStructure,80
……
请根据给定的实验数据,在pyspark中通过编程来计算以下内容:
(1)该系总共有多少学生;
代码如下:
lines = sc.textFile("file:///usr/local/spark/sparksqldata/data.txt")
res = lines.map(lambda x:x.split(",")).map(lambda x:x[0])
sum = res.distinct()
sum.count()
结果如下:
(2)该系共开设了多少门课程;
代码如下:
lines = sc.textFile("file:///usr/local/spark/sparksqldata/data.txt")
res = lines.map(lambda x:x.split(",")).map(lambda x:x[1])
sum = res.distinct()
sum.count()
结果如下:
(3)Tom同学的总成绩平均分是多少;
代码如下:
lines = sc.textFile("file:///usr/local/spark/sparksqldata/data.txt")
res = lines.map(lambda x:x.split(",")).filter(lambda x:x[0] == 'Tom')
score = res.map(lambda x:int(x[2]))
sum_score = score.reduce(lambda x,y