19
Seminar Large scale data mining mit Apache Mahout Wintersemester 2009/2010 MapReduce

MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Embed Size (px)

Citation preview

Page 1: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

SeminarLarge scale data mining mit Apache Mahout

Wintersemester 2009/2010

MapReduce

Page 2: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Betreuer: Isabel Drost

Oleg Mayevskiy

Page 3: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Agenda

EinleitungProgrammiermodelVerarbeitungsablaufBeispieleDiskusion

Page 4: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Einleitung - MapReduce?

Funktionales ProgrammiermodelNebenläufigkeitmap & reduce - Methodenunkompliziert

Page 5: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Einleitung - Einsatz

Java, C++, C#Cluster, Shared Memory, NUMA MultiprozessorsystemeApache Hadoop MapReduce, Google MapReduce

Page 6: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Programmiermodel

funktionalbeschränkt auf nur zwei Methoden:

- map (in_key, in_value) -> (out_key, intermediate_value) list

- reduce (out_key,intermediate_value list) -> out_value list

Page 7: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

WordCounter - mapmap(String key, String value): // key: document name // value: document contents for each word w in value: EmitIntermediate(w, "1");

reduce(String key, Iterator values): // key: a word // values: a list of counts int result = 0; for each v in values: result += ParseInt(v); Emit(AsString(result));

Page 8: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Verarbeitungsablauf

Page 9: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Verarbeitungsablauf

Page 10: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Verarbeitungsablauf

Page 11: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Verarbeitungsablauf

Page 12: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Verarbeitungsablauf

Page 13: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Verarbeitungsablauf

Page 14: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Verarbeitungsablauf

Page 15: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Beispiele

Verteiltes Grep

Map Funktion liefert Zeilen zurück, die einem gesuchten Pattern entsprechenReduce Funktion ist eine Identitätsfunktion, die das Ergebnis in eine Datei schreibt

Page 16: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Beispiele

Count of URL Access Frequency

Map Funktion bearbeitet Logdateien eines Webservers und liefert <Url,1> zurückReduce Funktion aggregiert die Ergebnisse für jede Url und liefert <Url,gesamtAnzahl> zurück.

Page 17: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Beispiele

Web-Link Graph

Die Map Funktion parst eine Webseite und liefert <target,source> zurück, wobei "target" ein Link, der in der Webseite "source" gefunden wurde, ist.Die Reduce Funktion fasst die Ergebnisse zusammen und liefert <target,list(source)>

Page 18: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Fazit

Begriff MapReduceFunktionales ProgrammiermodelInterner VerarbeitunsablaufProblembeispiele

Page 19: MapReduce - isabel-drost.deisabel-drost.de/projects/tuberlin/imsem2010/mr_2010.pdf · MapReduce. Programmiermodel funktional ... Verteiltes Grep Map Funktion liefert Zeilen zurück,

Vielen Dank!

Haben Sie noch Fragen?

Fragen!