У меня есть текстовый документ, полный строк твитов, для которых мне нужно запустить задание MapReduce.Я использую Python и MRJob для этого со следующим кодом:
from mrjob.job import MRJob
import re
import datetime
class exerciseOne(MRJob):
def mapper(self, _, line):
fields = line.split(";")
epochtemp = int(fields[0])
difference = epochtemp/1000.0
key = datetime.datetime.fromtimestamp(difference).strftime('%Y-%m-%d')
yield(key, 1)
if __name__ == '__main__':
exerciseOne.run()
Небольшой образец текста, который необходимо проанализировать, содержится здесь: https://textuploader.com/dnx59, если кому-то это интересно.
Проблема, с которой я столкнулся, заключается в том, что я не знаю, как перебирать строки в методе mapper для генерации всех пар ключ-значение.Я пробовал следующее:
for line in lines
и
while(line)
, но ни один из них не работал для набора данных, который я использую.Как я могу правильно пройти через них?