Big DataProfessional IT Master
Prof. Dr. Ingo Claßen
Hochschule für Technik und Wirtschaft Berlin
Überblick
Verarbeitungsmodell
Verarbeitungsablauf
Verteilte Daten
Ressourcenmanagement
Koordination
Überblick
Die 3 Vs
I Volume (Datenmenge)I Gigabyte → Terabyte → Petabyte → . . .I Web-Daten, Sensordaten
I Velocity (Geschwindigkeit)I Event-Processing, IOT
I Variety (Datenvielfalt)I Strukturiert, Semistrukturiert, Unstrukturiert
Big Data – Ingo Claßen 2/21
Überblick
Anwendungsfälle – beispielhaft
I Customer AnalyticsI Customer JourneyI Verfolgung von Interaktonspunkten (Web, Mobile, Call Center)I Vielzahl von Datenquellen (CRM, Logs)
I Operational AnalyticsI Vorhersage von AusfällenI Anomalieerkennung
I Betrug, ComplianceI RisikoerkennungI Erkennung von Attacken
I Datengetriebene Produkte und DiensteI Innovative Produkte und DiensteI Z.B Verkauf von Flugkapazität statt Flugzeugturbinen
I Optimierung des Enterprise Data WarehouseI Geringere KostenI Höhere Leistung
Big Data – Ingo Claßen 3/21
Verarbeitungsmodell
Verarbeitungsprinzipien
I Horizontale nahtlose Skalierbarkeit. Scale out, not upI Transparente Verteilung der DatenI Cluster-basiertes RessourcenmanagementI Fehler treten häufig aufI Sende Programme an die Daten, nicht umgekehrtI Verarbeitung der Daten in sequenziellen BlöckenI Programmiermodell, das vor der Komplexität paralleler Verarbeitung
abschirmt
Big Data – Ingo Claßen 4/21
Verarbeitungsmodell
Theoretisches Verarbeitungsmodell:Funktionale Programmierung
17 13 21 15 45
∗2 ∗2 ∗2 ∗2 ∗2
34 26 42 30 90
+ = 222
map
reduce
Big Data – Ingo Claßen 5/21
Verarbeitungsmodell
Praktisches Verarbeitungsmodell
I Schlüssel-Wert-PaareI map : K1 × V1 → List[K2 × V2]I reduce : K2 × List[V2]→ List[K3 × V3]
I Verarbeitungsphasen1. Map2. Shuffle (Partitionierung, Sortierung)3. Reduce
Big Data – Ingo Claßen 6/21
Verarbeitungsablauf
Map
Key ValueF KF KF -KF K
Key ValueF KF KF -KF KF -K
Key ValueF KF -KF K
Key ValueF 4
FK 3F-K 1
Key ValueF 5
FK 3F-K 2
Key ValueF 3
FK 2F-K 1
F=hat Fieber -F=hat kein FieberK=ist krank -K=ist nicht krank
Big Data – Ingo Claßen 7/21
Verarbeitungsablauf
Shuffle
Key ValueF 4
FK 3F-K 1
Key ValueF 5
FK 3F-K 2
Key ValueF 3
FK 2F-K 1
Key ValueF 4, 5, 3
FK 3, 3, 2
Key ValueF-K 1, 2, 1
F=hat Fieber -F=hat kein FieberK=ist krank -K=ist nicht krank
Big Data – Ingo Claßen 8/21
Verarbeitungsablauf
Reduce
Key ValueF 4, 5, 3
FK 3, 3, 2
Key ValueF-K 1, 2, 1
Key ValueF 12
FK 8
Key ValueF-K 4
F=hat Fieber -F=hat kein FieberK=ist krank -K=ist nicht krank
Big Data – Ingo Claßen 9/21
Verarbeitungsablauf
WordCount – Spark-Python
text_file = spark.textFile("...")
text_file.flatMap(lambda line: line.split()).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a+b)
Big Data – Ingo Claßen 10/21
Verteilte Daten
Ziele HDFS
I Hardware-FehlerI Commodity Hardware, Fehler ist Regel statt AusnahmeI Hunderte bis tausende ServermaschinenI Fehlererkennung, Automatische Wiederherstellung
I Daten-StreamingI Sequentieller Datenzugriff, Batch-VerarbeitungI Hoher Durchsatz statt geringer Latenz
I Große DatenmengenI Große Dateien, über die Größe von Festplatten hinausI Große Anzahl von Dateien
I Einfaches KoheränzmodellI Write once – read manyI Keine Änderung, lediglich Anhängen und Abschneiden
I Verteilung von Algorithmen auf die DatenI Schnittstelle für Anwendungen für größere Datenlokalität
I PortabilitätI bzgl. Hardware- und Software-Plattformen
Big Data – Ingo Claßen 11/21
Verteilte Daten
HDFS-Architektur
Big Data – Ingo Claßen 12/21
Verteilte Daten
Replikation
Big Data – Ingo Claßen 13/21
Ressourcenmanagement
Ressourcenmanagement – Anforderungen
I Skalierbarkeit (horizontal): Anpassbar an steigende AnforderungenI Multi-tenancy: Gemeinsame Ressourcen für verschiedene
NutzergruppenI Funktionstüchtigkeit: Robuste Verarbeitung von Updates,
KompatibilitätI Lokationssensibilität: Programme in Nähe der DatenI Gute Auslastung der Cluster-Ressourcen: Dynamische
RessourcenzuteilungI Zuverlässigkeit / VerfügbarkeitI Sicherheit: Authentifizierung / AutorisierungI Ünterstützung verschiedener Programmiermodelle: Batch, iterativ,
event-basiert
Big Data – Ingo Claßen 14/21
Ressourcenmanagement
YARN – Resource Manager (RM)
I ÜberwachungRessourcennutzung
I ÜberwachungKnoten-Abstürze
I JobannahmeI Verteilung von
Ressourcen
Big Data – Ingo Claßen 15/21
Ressourcenmanagement
YARN – Node Manager (NM)
I Zuständig für einenKnoten
I ÜberwachungContainer innerhalbdes Knotens
I Heartbeat mit RM
Big Data – Ingo Claßen 16/21
Ressourcenmanagement
YARN – Application Master (AM)
I Koordination derAnwendung
I
Ressourcenanforderungvom RM
I Kommunikation mitNM bzgl.BereitstellungRessourcen.
I Überwachung allerContainer derAnwendung
I Heartbeat mit RM
Big Data – Ingo Claßen 17/21
Ressourcenmanagement
YARN – Container
I Arbeitseinheiten ausSicht des AM
Big Data – Ingo Claßen 18/21
Koordination
Aufgaben der Koordination
I KonfigurationsmanagementI SynchronisationI GruppenmitgliedschaftI Festlegung von Application Master im Falle von Fehlern
Big Data – Ingo Claßen 19/21
Koordination
Zookeeper – Baukasten für Koordinationsprimitive/
/app1
/app1/p1 /app1/p2 /app1/p3
/app2
/app2/p1 /app2/p2
I create(path, data, flags)I delete(path, version)I exists(path, watch)I getData(path, watch)I setData(path, data, version)I getChildren(path, watch)
Big Data – Ingo Claßen 20/21
Koordination
Quellen
I http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html
I http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
I http://spark.apache.org/
Big Data – Ingo Claßen 21/21
Top Related