在python中找到每个年龄段最受欢迎的电影的还原器

问题描述 投票:0回答:1

[我正在尝试为Hadoop编写mapper reducer,以查找每个年龄段的5类“流行电影”的电影。

我将此mapper.py编写为将拖曳数据集与用户ID结合起来,以从用户数据中获得年龄,并从评级数据集中获得具有电影名称的评级。

!/ usr / bin / env python:

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,电影ID,评分,时间戳用户数据:用户名,性别,年龄,职业

我编写的reducer根本不起作用,它给了我0个结果。

我希望结果成为每个年龄段最受欢迎的电影:

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
python hadoop mapreduce
1个回答
0
投票

您是否解决了这个问题的减速器?

© www.soinside.com 2019 - 2024. All rights reserved.