pyspark使用RDD的转换和行动命令进行数据分析
1.pyspark交互式编程练习
查看文件“data01.txt”数据集,该数据集包含了某大学计算机系的成绩,请根据给定的实验数据,在pyspark中通过编程来计算以下内容:
(1) 该系总共有多少学生;
>>> lines = sc.textFile("file:///usr/local/spark/sparksqldata/data01.txt")
>>> res = lines.map(lambda x:x.split(",")).map(lambda x: x[0]) #获取每行数据的第1列
>>> distinct_res = res.distinct() #去重操作
>>> distinct_res.count() #取元素总个数
答案为:265人
(2) 该系共开设了多少门课程;
>>> lines = sc.textFile("file:///usr/local/spark/sparksqldata/data01.txt")
>>> res = lines.map(lambda x:x.split(",")).map(lambda x:x[1]) #获取每行数据的第2列
>>> distinct_res = res.distinct() #去重操作
>>> distinct_res.count() #取元素总个数
答案为8门
(3) tdu同学的总成绩平均分是多少;
>>> lines = sc.textFile("file:///usr/local/spark/sparksqldata/data01.txt")
>>> res = lines.map(lambda x:x.split(",")).filter(lambda x:x[0]=="tdu") #筛选tdu同学的成绩信息
>>> res.foreach(print)
>>> score