Я пытаюсь скрыть этот скрипт, который я запустил, префект в mrjob map limit
import csv
cities=[]
with open('data.csv', newline='') as csvfile:
file = csv.reader(csvfile, delimiter=',')
for row in file:
if row[0] not in cities:
cities.append(row[0])
print (len(cities))
Я сейчас получил
from mrjob.job import MRJob
from mrjob.step import MRStep
class citiesCount(MRJob):
# each input lines consists of city, productcities, price, and paymentMode
def mapper(self, _, line):
# create a key-value pair with key: productcities and value: 1
line_cols = line.split(',')
yield line_cols[0], 0
def reducer(self, cities, counts):
# final consolidation of key-value pairs at reducer nodes
yield None, (cities, counts)
def reducer_count(self, cities):
yield (len(cities))
def steps(self):
return [
MRStep(mapper=self.mapper,
reducer=self.reducer),
MRStep(reducer=self.reducer_count)
]
if __name__ == '__main__':
citiesCount.run()
Я знаю, что я близко, но я просто не знаю, что мне не хватает
Не могу опубликовать набор данных, его 500 000 предметов, но профессор поставил для скачивания по этой ссылке https://users.cs.fiu.edu/~prabakar/database/4722sp19/abarr054-3495916/