MapReduce Entwurfsmuster – Numerische Aggregation (Standardabweichung 1/2)

MapReduce Entwurfsmuster - DurchschnittswerteIn diesem Teil meiner kleinen Serie der MapReduce Entwurfsmustern für Microsoft HDInsight erweitere ich die Gruppe der Numerische Aggregation mit einem vereinfachten Beispiel zur Berechnung der Standardabweichung und des Medians

Nachdem ich im ersten Teil und zweiten Teil dieser Serie relative einfache MapReduce Algorithmen vorgestellt habe, möchte ich mit diesem um dem kommenden Teil den Schwierigkeitsgrad leicht erhöhen.

Die Standardabweichung (ein Maß für die Streuung der Werte) wird durch die Quadratwurzel der Varianz der untersuchten Werte berechnet.

Die dafür benötigte Varianz der Werte wird aus der Summe der quadrierten Abweichungen vom Durchschnittswert berechnet, welche noch durch die Anzahl der Werte – 1 geteilt wird.

 

Beispiel "Standardabweichung und Median (ohne Combiner)"

Bei diesem Beispiel sollen die Standardabweichung und der Median für die Kommentarlänge pro Stunde errechnet werden.

Die hierzu verwendete Mapper-Funktion ist nahezu identisch mit der aus dem vergangenen Artikel dieser Serie:

Eine Combiner-Funktion kann bei diesem vereinfachen Algorithmus nicht verwendet werden.
Im kommenden Teil stelle ich allerdings eine komplexere Variante vor, die einen Combiner beinhaltet. 

Die Reducer-Funktion berechnet anschließend den Median (Mittlerer Wert der sortierten Liste), die Varianz der Werte (s.o.), sowie die Standardabweichung (Quadratwurzel der Varianz).

Anschließend liefert der Reducer erneut die Ausgabewerte – zur späteren Weiterverarbeitung – im Tab-getrennten Format zurück.



Check Also

Time Machine Backups nach Microsoft Azure

Seit einigen Jahren verwende ich eine Apple Time Capsule, um meine Time Machine Backups an einem zentralen Ort speichern zu können. Bislang hatte das für mich auch vollkommen ausgereicht. Seitdem ich jedoch immer mehr unterwegs bin, habe ich nach einer Lösung gesucht, die ich auch von unterwegs nutzen kann. In diesem Blog Post zeige ich deshalb, wie man Time Machine Backups nach Microsoft Azure machen kann.