gpt4 book ai didi

python - python中的hadoop映射器/还原器

转载 作者:行者123 更新时间:2023-12-02 20:57:55 25 4
gpt4 key购买 nike

我想从3个数据库movie.dat,users.dat和rating.dat中提取数据。标识电影的平均男性收视率最高减去女性平均收视率,以及另一部电影的女性平均收视率最高减去平均男性收视率。仅仅是一部电影,电影获得了男人最高的评价,而没有妇女获得最高评价,这部电影获得了女性的最高评价,而不是男性的最高评价。我已经为mapper.py编写了代码,想要减少数据,需要逻辑和代码方面的帮助。
这是我的mapper.py

for line in sys.stdin:
line=line.strip()
lst = line.split("::")
if len(lst) == 4:
userID=lst[0]
movieID=lst[1]
rating=lst[2]
elif len(lst)==5:
userID=lst[0]
gender=lst[1]
else:
movieID=lst[0]
print '%s, %s, %s'%(movieID,rating,gender)

最佳答案

如果有3个数据集,则以下应为您的映射器。

import sys

for line in sys.stdin:


line=line.strip()
lst = line.split("::")
if len(lst) == 5:
user=lst[0]
gender=lst[1]
print '%s^%s^%s^%s^%s'%(user,gender,0,0,0)
elif len(lst)==4:
user=lst[0]
movie=lst[1]
rating=lst[2]
print '%s^%s^%s^%s^%s'%(user,0,movie,rating,0)
else:
movie=lst[0]
title=lst[1]
print '%s^%s^%s^%s^%s'%(0,0,movie,0,title)

关于python - python中的hadoop映射器/还原器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43968514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com