学生课程分数
点击查看代码
from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster("local").setAppName("My App")
sc=SparkContext(conf=conf)
url = "file:///home/hadoop/input/sc.txt"
scm=sc.textFile(url).map(lambda line:line.split(',')).map(lambda line:[line[0],line[1],int(line[2])])
scm.cache()
scm.map(lambda a:a[0]).distinct().count()
scm.map(lambda a:a[1]).distinct().count()
name = scm.map(lambda a:(a[0],(a[1],a[2])))
name.countByKey()
name.values().countByKey()
name.values().values().countByValue()[100]
print(len(name.lookup('Tom')))
name.lookup('Tom')
name.filter(lambda a:a[0]=='Tom').count()
name.filter(lambda a:a[0]=='Tom').collect()
name.filter(lambda a:a[0]=='Tom').sortBy(lambda a:a[1],False).collect()
np.mean(name.filter(lambda a:a[0]=='Tom').values().values().collect())
name.filter(lambda a:a[1][1]<60).count()
notpass=name.map(lambda a:(a[0],(a[1][0],a[1][1]*0.8+20)))
notpass.filter(lambda a:a[1][1]<60).count()
notpass2=scm.map(lambda a:((a[0],a[1]),a[2])).mapValues(lambda v:v*0.8+20)
notpass2.filter(lambda a:a[1]<60).count()
course = sc.textFile(url).map(lambda a:a.split(',')).map(lambda a:(a[1],int(a[2])))
countPeople=course.countByKey()
print(countPeople)
mean1={}
for i in countPeople.keys():
mean1[i]=round(np.mean(course.lookup(i)),2)
mean1={}
for i in countPeople.keys():
mean1[i]=round(np.mean(course.lookup(i)),2)
mean1={}
for i in countPeople.keys():
mean1[i]=round(np.mean(course.lookup(i)),2)
print(mean1)
totalCourse=course.reduceByKey(lambda a,b:a+b).collectAsMap()
totalCourse
mean2={}
for i in countPeople.keys():
for j in totalCourse.keys():
if(i==j):
mean2[i]=round(totalCourse.get(i)/countPeople.get(i),2)
print(mean2)
courseC=course.combineByKey(lambda a:(int(a),1),lambda a,b:(a[0]+int(b),a[1]+1),lambda a,b:(a[0]+b[0],a[1]+b[1]))
courseC.first()
courseC.map(lambda a:(a[0],a[1][1],round(a[1][0]/a[1][1],2))).collect()








【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合终身会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步