Der »Loadbalancer« für Amazons Cloud, Elastic MapReduce, ist jetzt auch in Europa verfügbar. [Amazon Webservice Blog]
Die tägliche Ration Wahnsinn — seit April 2000 im Netz
Der »Loadbalancer« für Amazons Cloud, Elastic MapReduce, ist jetzt auch in Europa verfügbar. [Amazon Webservice Blog]
Der »Loadbalancer« für Amazons Cloud, Elastic MapReduce, ist jetzt auch in Europa verfügbar.
Kategorien: Webworking.
Tags: Amazon · Cloud-Computing · Elastic MapReduce
© 2000 - 2012 Der Schockwellenreiter | Powered by WordPress
Kennst jemand eine Erläuterung von Map/Reduce, die für einen programmierenden Nicht-Mathematiker verständlich ist? Vielleicht mit ein bisschen Pseudocode dabei? CouchDB verwendet das auch, aber ich kommen nicht dahinter, ob und wofür ich es brauchen könnte.
Stell Dir zum Beispiel vor, Du hast Terrabyte an OCR-Daten, die unregelmäßig anfallen, die Du dann aber in kürzester Zeit bearbeitet haben möchstest. Normalerweise müßtest Du Dir dafür einen Serverpark selber »zu Hause« hinstellen, der aber die meiste Zeit seiner Lebensdauer vor sich hin «idled«. Elastic MapReduce erlaubt Dir daher, für diese Aufgabe einen Serverpark zu »mieten« und zwar in einem von Dir gewünschten Verhältnis von Aufwand und Zeit (muß schnell gehen, daher viele Rechner parallel einsetzen (kostet mehr), hat Zeit, daher reichen weniger Rechner — kostet weniger). Und das konfigurierst Du außerhalb Deines Programmes, die eigentliche Parallelisierung übernimmt Elastic MapReduce transparent im Hintergrund.
War ich jetzt auch für Nichtmathematiker verständlich?
Auch für Nichtmathematiker verständlich, danke!
Ich hab jetzt den Artikel bei Wikipedia aufmerksam gelesen, und so langsam dämmerts. Die Map-Funktion nimmt key/value pairs und liefert wiederum key/value-Paare ab, welche dann von der reduce-Funktion ‘zusammengerechnet’ werden.
Beispiel dort war ein verteilter Mechanismus, um die Gesamtanzahl für jedes Wort innerhalb eines Korpus von Dokumenten zu ermitteln:
»The canonical example application of MapReduce is a process to count the appearances of each different word in a set of documents:
map(String name, String document):
// name: document name
// document: document contents
for each word w in document:
EmitIntermediate(w, 1);
reduce(String word, Iterator partialCounts):
// key: a word
// values: a list of aggregated partial counts
int result = 0;
for each v in partialCounts:
result += ParseInt(v);
Emit(result);
Here, each document is split in words, and each word is counted initially with a “1″ value by the Map function, using the word as the result key. The framework puts together all the pairs with the same key and feeds them to the same call to Reduce, thus this function just needs to sum all of its input values to find the total appearances of that word.«
Hm, da fallen mir doch gleich ein paar Anwendungen dafür ein…