Я пытаюсь создать программу присоединения пути URL-ссылки, используя MapReduce через библиотеку MRJob.Имеется следующий список URL:
url1, url2
url1, url3
url2, url3
url4, url5
url2, url4
Мне нужно получить выходные данные триплетных URL:
url2, url4, url5
url1, url2, url3
url1, url2,url4
Это код, который я получил до сих пор:
from mrjob.job import MRJob
class MRJoin(MRJob):
def mapper(self, key, line):
a = line.split(',')
for word in a:
yield word, a
def reducer(self, word, line):
for i in line:
if word == i[1]:
for i2 in line:
if i2[0] == word:
yield i,i2
if __name__ == '__main__':
MRJoin.run()
Этот код дает мне следующее:
["url1", "url2"] ["url2", "url3"]
["url1", "url2"] ["url2," url4 "]
То есть я не присоединяюсь к спискам и не получаю все ссылки. Как я могу достичь своей цели?