Skip to content

eigenes fortgeschrittenes MapReduce-Beispiel (inklusive Unit Test)

Notifications You must be signed in to change notification settings

Infir3/bde-uebung3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Überblick

Das Beispiel ist das gleiche wie das in Übung 2, allerdings wurde hier eine zusätzliche Testklasse erstellt, die die Funktionen von Mapper und Reducer mit Unit Tests sicherstellt. Außerdem wurde der Code von Test- und produktiven Klassen auf verschiedenen Ordner aufgeteilt und alle Klassen liegen nun in separaten Dateien.

Das Programm berechnet (nach wie vor) für eine Menge an Kundendaten den Promillegehalt jedes Kunden anhand der Anzahl der Biere, die dieser getrunken hat.

Anleitung

Die Textdatei, die eingelesen wird, muss folgenden Aufbau haben: <customerId>,<AnzahlDerBiere> - beides müssen Integer sein. Eine Beispieldatei mit 2000 Datensätzen ist bereits dabei; ansonsten kann diese manuell oder mithilfe der Klasse BeerDataGenerator.java erzeugt werden.

Danach muss die jar-Datei mit Maven erzeugt werden. Im Gegensatz zu Übung 2 sollte hier Maven install verwendet werden, weil es wegen der Unit Tests sonst aus irgendwelchen Gründen zu einem Build Error kommt.

Beide Dateien werden nun (z.B. per WinSCP) auf die Hadoop-VM kopiert. Die Datei mit den Testdaten muss zusätzlich im HDFS abgelegt werden.

Der MapReduce-Job wird wie folgt gestartet:

hadoop jar BeerAnalyzer-0.0.1-SNAPSHOT.jar de.sb.BeerAnalyzer.BeerAnalyzer /input/beer_data.txt /output

Dabei muss die Eingabedatei bereits im HDFS vorhanden sein, das Ausgabeverzeichnis darf dagegen noch nicht da sein (Löschbefehl: hdfs dfs -rm -r -skipTrash <directory>).

Mit hdfs dfs -cat /output/part-r-00000 kann man sich das Ergebnis anschauen.

About

eigenes fortgeschrittenes MapReduce-Beispiel (inklusive Unit Test)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages