2.1 KiB
Map und Reduce auf Streams
Lernziel
Die Daten in einem Stream durch Map- und Reduce verdichten.
Aufgabe
Gehen Sie in das Paket pr2.streams.reduce_critics.
In dieser (und den folgenden Aufgaben) werden Sie Daten aus der Spieldatenbank von Metacritic analysieren. Hierbei wurden die 994 Spiele mit der besten Bewertung ausgewählt. Für jedes Spiel sind angegeben:
- Name des Spiels
- Metacritic-Score (0-100)
- Benutzerbewertung (0-100). Normalerweise werden die Benutzerbewertungen bei Metacritic on 0-10 mit einer Nachkommastelle angegeben. Für die einfachere Bearbeitung ist dies für Sie aber bereits in den Bereich 0-100 umgerechnet worden.
- Erscheinungsjahr des Spieles
Die Verwaltung der Daten wurde Ihnen bereits abgenommen und wird von der Klasse GameDatabase
durchgeführt. Ein einzelnes Spiel wird durch Objekte des Typs ComputerGame
repräsentiert.
Schauen Sie sich die Klassen ComputerGame
und GameDatabase
an und versuchen Sie deren Funktionsweise zu verstehen.
Erweitern Sie nun die main
-Methode von MapReduceGames
so, dass Sie bestimmte Auswertungen auf den Spielen durchführen können. Folgende Informationen sollen Sie auswerten:
- Das Quadratische Mittel des Unterschiedes zwischen Metascore und Userscore.
- Das Arithmetische Mittel des Unterschiedes zwischen Metascore und Userscore.
Lassen Sie Ihr Programm laufen und überprüfen Sie, ob die richtigen Informationen ausgegeben werden.
Die Datei mit den Spielen finden Sie unter games.txt.