редуктор, чтобы найти самый популярный фильм для каждой возрастной группы в питоне - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь написать редуктор картографирования для Hadoop, чтобы найти фильмы с 5-ю оценками «популярных фильмов» для каждой возрастной группы.

Я пишу это mapper.py, чтобы присоединиться к набору данных буксировки с пользователемИдентификатор для получения возраста из пользовательских данных и рейтинга с названием фильма из набора рейтинговых данных.

! / 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)

это данные рейтинга структуры данных: идентификатор пользователя, идентификатор фильма, рейтинг, метка времени Данные пользователя: идентификатор пользователя, пол, возраст, род занятий

Редуктор, который я написал, вообще не работает, он дал мне 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
...