我正在尝试为Hadoop编写mapper reducer,以查找每个年龄段的5类“热门电影”的电影。
我写这个import sys
for line in sys.stdin:
# remove leading and trailing whitespace
line = line.strip()
line = line.split("::")
rating = "-1"
movie = "-1"
user = "-1"
age = "-1"
if len(line) == 4 :
#ratings data
rating = line[2]
movie = line[1]
user = line[0]
#print '%s %s %s' % (user,movie,rating)
else:
# users data
user = line[0]
age = line[2]
print '%s\t%s\t%s\t%s' % (user,age,rating,movie)
来将拖车数据集与用户ID结合起来,以从用户数据中获取年龄,并从评级数据集中获得具有电影名称的评级。
!/ usr / bin / env python:
1 2254
4567
18 8732
0987
0986
25 7654
8765
7658
35 6543
7645
7654
45 7654
8765
5433
50 7652
1876
7654
56 3986
3956
这是数据结构 评分数据: 用户ID,电影ID,评分,时间戳 用户数据: 用户名,性别,年龄,职业
我编写的reducer根本不起作用,给了我0个结果。
我希望结果能成为每个年龄段的最受欢迎电影:
{{1}}