w26M2
w26M2
w26M2
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Big-Data-Technologien – Wissen für Entscheider<br />
Auf der obersten Ebene bietet Stratosphere Programmierschnittstellen<br />
in den Programmiersprachen Java und Scala<br />
an, in denen Datenanalyseprogramme gemäß des PACT-<br />
Modells spezifiziert werden können. Durch die Verwendung<br />
dieser populären Sprachen ist eine große Menge<br />
an Entwicklern in der Lage, Datenanalyseprogramme zu<br />
erstellen. Darüber hinaus stellt Stratosphere mit Meteor<br />
und Spargel weitere Progammierschnittstellen bereit.<br />
Meteor ist eine erweiterbare Skriptsprache für einfache<br />
Datenanalyseaufgaben. Spargel bietet das populäre<br />
knoten-zentrierte Programmiermodell für graphstrukturierte<br />
Daten an. Stratosphere parallelisiert diese Analyseprogramme<br />
automatisch und optimiert ihre Ausführung<br />
in Abhängigkeit von Systemumgebung, Workload und<br />
Eigenschaften der zu analysierenden Daten.<br />
map<br />
union<br />
reduce<br />
iterate<br />
Abbildung 57: Stratosphere-Operatoren<br />
join<br />
iterate<br />
delta<br />
cross<br />
cogroup<br />
Hierzu werden neuartige Verfahren der Codeanalyse,<br />
Codegenerierung und Datenbankoptimierung angewendet,<br />
die im Rahmen der Hochtechnologieforschung<br />
speziell für Stratosphere entwickelt wurden. Durch<br />
diese Optimierungen können auch Nutzer ohne Systemprogrammiererfahrung<br />
das System effizient nutzen.<br />
Stratospheres PACT-Programmiermodell erweitert zudem<br />
das von Hadoop bekannte MapReduce-Modell durch neue<br />
Operatoren und gibt damit Data Scientists einen umfangreichen<br />
Werkzeugkasten zur Lösung von Datenanalyseproblemen<br />
auf Big Data (vgl. Abbildung 57)<br />
Die neben map und reduce zusätzlichen Operatoren im<br />
PACT-Modell ermöglichen die einfache Spezifikation von<br />
komplexen Datenanalyseprogrammen, wie sie im Data<br />
Mining, Maschinellen Lernen und komplexer Statistik<br />
üblich sind (z. B. Regression, Clustering, Graph-Analyse).<br />
Die Operatoren join, cross, union, und cogroup erlauben<br />
dabei die Verknüpfung, Verbindung oder Korrelation von<br />
mehreren Datenströmen, welche in map/reduce-Systemen<br />
wie Hadoop nur mit großem Aufwand möglich sind.<br />
Insbesondere hervorzuheben sind die Operatoren iterate<br />
und iterate-delta, da diese Stratosphere von den meisten<br />
anderen kommerziellen und nichtkommerziellen<br />
Systemen unterscheiden: Algorithmen des Data Minings,<br />
des maschinellen Lernens und der Graph-Verarbeitung<br />
erfordern häufig, dass die Daten mehrfach durchlaufen<br />
werden. Stratosphere unterstützt mit iterate und iteratedelta<br />
hierzu nativ skalierbare iterative Algorithmen und<br />
kann diese im Gegensatz zu Hadoop, SQL-Datenbanken<br />
oder neueren Systemen wie Spark automatisch parallelisieren<br />
und effizient auf Rechenclustern verarbeiten.<br />
Neben den erweiterten Operatoren ist Stratosphere auch<br />
in der Lage, komplexe Datenflüsse abzubilden. Während<br />
bei Hadoop MapReduce ein vorgegebener Datenfluss von<br />
Map nach Reduce vorgegeben ist, ist Stratosphere in der<br />
Lage, Daten in vielfältiger Weise zwischen den Operatoren<br />
zu senden.<br />
M<br />
R<br />
J<br />
R<br />
R<br />
M<br />
R<br />
M<br />
Hadoop<br />
Stratosphere<br />
Abbildung 58: Stratosphere – Möglichkeit komplexer Datenflüsse<br />
133