David, Ja, MapReduce soll auf einer großen Datenmenge arbeiten. Und die Idee ist, dass im Allgemeinen die Karte und reduzieren Funktionen sollte nicht kümmern, wie viele Mapper oder wie viele Reduzierer gibt es, die nur Optimierung ist. Wenn Sie sorgfältig über den Algorithmus ich gepostet denken, können Sie sehen, dass es doesn39t Angelegenheit, welche Mapper bekommt, welche Teile der Daten. Jeder Eingabesatz ist für jede reduzierte Operation verfügbar, die es benötigt. Ndash Joe K 18. September um 22:30 Im besten Fall meines Verständnisses gleitende Durchschnitt ist nicht schön Karten MapReduce-Paradigma, da seine Berechnung im Wesentlichen Schiebefenster über sortierte Daten ist, während MR Verarbeitung von nicht geschnittenen Bereichen von sortierten Daten. Lösung, die ich sehe, ist wie folgt: a) Um benutzerdefinierte Partitionierer zu implementieren, um zwei verschiedene Partitionen in zwei Durchläufen zu machen. In jedem Lauf erhalten Ihre Reduzierer verschiedene Bereiche der Daten und berechnen gleitenden Durchschnitt, wo passend, werde ich versuchen zu illustrieren: Im ersten Lauf Daten für Reduzierer sollte: R1: Q1, Q2, Q3, Q4 R2: Q5, Q6, Q7, Q8 . Hier werden Sie gleitenden Durchschnitt für einige Qs cacluate. Im nächsten Lauf sollten Ihre Reduzierer Daten wie erhalten: R1: Q1. Q6 R2: Q6. Q10 R3: Q10..Q14 Und caclulate den Rest der gleitenden Durchschnitte. Dann müssen Sie Ergebnisse zu aggregieren. Idee der benutzerdefinierten Partitionierer, dass es zwei Modi der Operation haben wird - jedes Mal in gleiche Bereiche, aber mit einigen Verschiebung. In einem Pseudocode sieht es so aus. Partition (keySHIFT) (MAXKEY numOfPartitions) Dabei gilt: SHIFT wird aus der Konfiguration übernommen. MAXKEY-Maximalwert der Taste. Ich nehme zur Vereinfachung an, dass sie mit Null beginnen. RecordReader, IMHO ist keine Lösung, da es auf bestimmte Split beschränkt ist und kann nicht über Splits Grenze gleiten. Eine weitere Lösung wäre, um benutzerdefinierte Logik der Aufteilung der Eingangsdaten (es ist Teil der InputFormat) zu implementieren. Es kann getan werden, um 2 verschiedene Folien, ähnlich wie die Partitionierung zu tun. Beantwortet Sep 17 12 at 8: 59 Um einen l-Term gleitenden Durchschnitt für l eine ganze Zahl zu berechnen, müssen wir tun, was heißt Zentrierung der gleitenden Durchschnitt. Dies geschieht folgendermaßen: Zuerst wird der einfache gleitende Durchschnitt berechnet. Als nächstes wird der zentrierte gleitende Durchschnitt durch Mittelung benachbarter Werte dieser einfachen gleitenden Mittelwerte berechnet: Wenn l2. Der zentrierte gleitende Durchschnitt heißt Hanning. Es ist von der Form Als Beispiel betrachten die Berechnung eines 4 Term gleitenden Durchschnitt auf die ersten 10 Datenwerte der SASDATA. INTAIR Daten (ein Datensatz, der besteht aus den monatlichen Zahlen, in Tausenden von Passagieren auf internationalen Fluggesellschaften Flüge für die Jahre 1949 bis 1960). Die ursprünglichen Daten sind 112,118,132,129,121,135,148,148,136,119. Um die ersten drei Terme des 4-Term-Gleitendurchschnitts zu erhalten, werden zuerst die ersten drei zentrierten gleitenden Mittelwerte berechnet. Dies sind die ersten drei Werte des 4-Term-Gleitmittels. Joseph D Petruccelli Di Feb 21 14:15:46 EST 1995
No comments:
Post a Comment