Как я могу уменьшить количество вхождений значения столбца ByKey в списке столбцов?Python

Программы на Python
Ответить
Anonymous
 Как я могу уменьшить количество вхождений значения столбца ByKey в списке столбцов?

Сообщение Anonymous »

У меня есть пользовательские фильмы RDD

Код: Выделить всё

 userID, movieID, list of movieIDs
[(69120, (296, [296, 356, 2858, 608, 588, 1580, 597, 153, 4306, 587]))],...
Я хочу подсчитать, сколько раз значение второго столбца встречается в списке в третьем столбце.

Код: Выделить всё

userMovies.reduceByKey(lambda v : 1 if v[1][0] in v[1][1] else 0).take(1)
Я пытался получить СДР, добавляя 1 или 0 с помощью уменьшения по ключу, а затем суммируя общее значение СДР, как при суммировании всех единиц. Но сокращениеByKey возвращает тот же RDD обратно и не дает 1 или 0.

РЕДАКТИРОВАТЬ:

Код: Выделить всё

userMovies.map(lambda tup: (tup[0], (tup[1][0], 1 if tup[1][0] in tup[1][1] else 0))).reduceByKey(lambda a,b: a[1][1]+b[1][1]).take(2)
ВОЗВРАТ

Код: Выделить всё

[(43450, (84152, 0)), (60830, (345, 0))]
Мне нужен только один столбец-строка [(totalsum)] не для каждого ключа

Подробнее здесь: https://stackoverflow.com/questions/496 ... olumn-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»