Ich versuche MapReduce von Jupyter Notebook auf einem Dataset in u.data Datei auszuführen, aber ich bekomme weiterhin eine Fehlermeldung, die besagt "TypeError: 'str' Objekt unterstützt nicht das Löschen von Elementen".Running MapReduce von Jupyter Notebook
Wie kann ich den Code erfolgreich ausgeführt werden?
Die u.data enthält Informationen wie die folgenden:
196 242 3 881250949
186 302 3 891717742
22 377 1 878887116
244 51 2 880606923
166 346 1 886397596
298 474 4 884182806
115 265 2 881171488
253 465 5 891628467
305 451 3 886324817
6 86 3 883603013
Und hier ist der Code:
from mrjob.job import MRJob
class MRRatingCounter(MRJob):
def mapper(self, key, line):
(userID, movieID, rating, timestamp) = line.split("\t")
yield rating, 1
def reducer(self, rating, occurences):
yield rating, sum(occurences)
if __name__ == "main__":
MRRatingCounter.run()
filepath = "u.data"
MRRatingCounter(filepath)
Dieser Code wird erfolgreich ausgeführt, wenn es unter .py Datei speichert und verwendet einen Befehl Zeile: "python ratingCounter.py u.data"