Apache Spark: Untersuchung der Mglichkeiten zur ... Spark+Masterthesis...Apache Spark: Untersuchung...

Click here to load reader

download Apache Spark: Untersuchung der Mglichkeiten zur ... Spark+Masterthesis...Apache Spark: Untersuchung der Mglichkeiten zur verteilten Datenverarbeitung und Analyse von Streaming Data

of 176

  • date post

    06-Feb-2018
  • Category

    Documents

  • view

    217
  • download

    3

Embed Size (px)

Transcript of Apache Spark: Untersuchung der Mglichkeiten zur ... Spark+Masterthesis...Apache Spark: Untersuchung...

  • Apache Spark:

    Untersuchung der Mglichkeiten zur verteilten

    Datenverarbeitung und Analyse von Streaming Data

    - MASTERARBEIT -

    fr die Prfung zum Master of Science

    Studiengang Informatik (INFM)

    an der Fakultt Elektrotechnik und Informationstechnik der

    Hochschule fr angewandte Wissenschaften Offenburg

    von

    DANIEL MLLER

    23. September 2015

    Bearbeitungszeitraum 6 Monate

    Matrikelnummer, Kurs 178152, INFM3

    1. Gutachter Prof. Dr. Stephan Trahasch

    stephan.trahasch@hs-offenburg.de

    2. Gutachter Sascha Niro, M.Sc.

    sascha.niro@hs-offenburg.de

  • I Vorwort

    - II -

    I Vorwort

    Im Laufe meines Masterstudiums hatte ich die Gelegenheit viel Neues zu lernen und in ver-

    schiedene Sachbereiche der Informatik tiefer einzutauchen. Die Vorlesung Advanced Busi-

    ness Intelligence hat mich dabei besonders interessiert. Es wurden Mglichkeiten zur Verar-

    beitung und Analyse von Datenbestnden aufgezeigt, um darin beispielsweise fr ein Unter-

    nehmen relevante Informationen finden zu knnen. Auch wurden Grundlagen des maschinel-

    len Lernens vorgestellt. Diese Themen, welche sich allesamt in den Bereich der Big Data

    Analytics eingliedern lassen, interessierten mich bereits in der Vorlesung so sehr, dass ich

    diesen Sachbereich auch in meiner Masterthesis anstreben wollte. Entsprechend gro war

    die Freude ber den Themenvorschlag, den mir Professor Trahasch zum Thema Datenverar-

    beitung mit Apache Spark vorgestellt hatte. Die Entscheidung fr diese Arbeit war schnell

    getroffen.

    Entsprechend erfreut darber war ich, ein solch spannendes Thema in meiner Masterarbeit

    behandeln zu knnen. An dieser Stelle mchte ich mich bei Herrn Prof. Dr. Stephan Trahasch

    und Sascha Niro fr den Vorschlag der Thesis, sowie die gute und hilfreiche Betreuung meiner

    Arbeit bedanken! Danke euch beiden fr die schnellen Antworten bei Fragen und die informa-

    tiven Treffen ber die letzten sechs Monate! Danke auch hier nochmals an Prof. Trahasch fr

    die Bereitstellung des Amazon Webservices Kontingents, welches mir das Arbeiten mit EC2-

    Instanzen ermglichte.

  • II Eidesstattliche Erklrung

    - III -

    II Eidesstattliche Erklrung

    Hiermit versichere ich eidesstattlich, dass die vorliegende Master-Thesis von mir selbststn-

    dig und ohne unerlaubte fremde Hilfe angefertigt worden ist, insbesondere, dass ich alle Stel-

    len, die wrtlich oder annhernd wrtlich oder dem Gedanken nach aus Verffentlichungen,

    unverffentlichten Unterlagen und Gesprchen entnommen worden sind, als solche an den

    entsprechenden Stellen innerhalb der Arbeit durch Zitate kenntlich gemacht habe, wobei in

    den Zitaten jeweils der Umfang der entnommenen Originalzitate kenntlich gemacht wurde. Ich

    bin mir bewusst, dass eine falsche Versicherung rechtliche Folgen haben wird.

    Diese Master-Thesis ist urheberrechtlich geschtzt, unbeschadet dessen wird folgenden

    Rechtsbertragungen zugestimmt:

    Der bertragung des Rechts zur Vervielfltigung der Master-Thesis fr Lehrzwecke

    an der Hochschule Offenburg ( 16 UrhG),

    Der bertragung des Vortrags-, Auffhrungs- und Vorfhrungsrechts fr Lehrzwecke

    durch Professoren der Hochschule Offenburg ( 19 UrhG),

    Der bertragung des Rechts auf Wiedergabe durch Bild- und Tontrger an die Hoch-

    schule Offenburg ( 21 UrhG).

    _____________________________________

    (Datum, Unterschrift)

    29.09.2015

  • III Zusammenfassung

    - IV -

    III Zusammenfassung

    ber die letzten Jahre entstanden unterschiedlichste Gertschaften, besonders im mobilen

    Bereich und der Industrie 4.0, die groe Datenmengen generieren. Diese mssen in entspre-

    chenden Netzwerken entgegengenommen, verarbeitet und ggf. analysiert werden um einen

    Mehrwert zu erzielen. Ein Vertreter fr die Umsetzung von Echtzeit-Datenverarbeitung ist

    Apache Spark, ein Open Source Framework, welches fr die Analyse von Informationsstr-

    men und Datenbestnden eingesetzt werden kann. Im Rahmen dieser Masterarbeit wird die

    Apache Spark Plattform von Grund auf erlutert und auf ihre Einsatzfhigkeit im Bereich der

    verteilten Datenverarbeitung untersucht. Durch die theoretische Einleitung in die Themen Big

    Data, Streaming Data, Data Mining und Real-Time Analytics wird ein grundlegendes Ver-

    stndnis fr die Aufgaben und Herausforderungen dieses Sachgebiets vermittelt. Es wird die

    Entwicklung von der Batch- zur Streamingverarbeitung vorgestellt und die Anforderungen,

    sowie Voraussetzungen fr die Umsetzung von Echtzeitsystemen aufgezeigt.

    Nachdem diese Grundlagen vermittelt wurden, folgt eine Vorstellung des Projektumfangs der

    Apache Software Foundation, in welchen sich auch das Spark Projekt einordnen lsst. Die

    Arbeit erlutert die Grundkonzepte von Apache Spark, wie die Entwicklung, Architektur und

    der Clusterbetrieb der Plattform. Dabei sttzen sich die Untersuchungen auf praktische Bei-

    spiele, um die Arbeitsweise von Apache Spark nher aufzuzeigen. Die vorgestellten Themen

    fallen in die Bereiche der parallelen Datenverarbeitung mit Spark und beschftigen sich mit

    den Voraussetzungen fr das Erstellen von Anwendungen, die den verteilten Aufbau und die

    horizontale Skalierbarkeit von Spark ausnutzen. Spark bringt ber eigene Bibliotheken auch

    Funktionalitten fr die Datenverarbeitung in speziellen Aufgabengebieten mit sich. In dieser

    Arbeit werden ebenfalls die beiden Bibliotheken MLlib, welche im Bereich des maschinellen

    Lernens Einsatz findet, und Spark Streaming, die Bibliothek fr Verarbeitung von Datenfls-

    sen, vorgestellt und deren Funktionsumfang untersucht. Das Kernthema dieser Arbeit bildet

    die Modellierung von Lsungsmglichkeiten zur Analyse von Streaming Data. Es wird hier-

    durch die Funktionsweise von Spark und dessen Streaming Bibliothek anhand von kompletten

    Applikationen zur Ausreiererkennung in Datenstrmen im Detail aufgezeigt.

    Die Arbeit zeigt auf, dass Spark durchaus fr den Einsatz zur verteilten Datenverarbeitung

    geeignet ist. Auch der Umgang mit Streaming Data wird durch den Bau der Prototypen nach-

    gewiesen. In dem abschlieenden Fazit werden die Erkenntnisse der Arbeit zusammenge-

    fasst und die Einsetzbarkeit von Spark diskutiert.

  • IV Abstract

    - V -

    IV Abstract

    Over the past years different devices were developed which generate huge data amounts,

    mostly in the mobile device domain or the Industry 4.0. These amounts have to be received,

    processed and, if necessary, analyzed to create an additional benefit. One solution for devel-

    oping such real-time data processing applications is Apache Spark, an open-source frame-

    work which is applied to analyze streams of information and data stocks. The task of this

    Masters thesis is to give an introduction into the Apache Spark platform and an examination

    of its usability for distributed data processing. A fundamental understanding for the tasks and

    challenges of this specialist field is given by an introduction in the subjects Big Data, Streaming

    Data, Data Mining and Real-Time Analytics. The development from batch to streaming pro-

    cessing and the requirements for the implementation of real-time systems, are also shown.

    After these basics are communicated, a presentation of the project scope of the Apache Soft-

    ware Foundation follows. The thesis comments the evolution, architecture and cluster operat-

    ing of the platform. The investigations lean on practical examples to show the functioning of

    Apache Spark. The introduced subjects come within the limits of the parallel data processing

    with Spark and keep busy with the preconditions of the creation of such applications which

    use Sparks distributed organization and its horizontal scalability. Spark also comes with li-

    braries of functionalities for special working areas. In this thesis two libraries are introduced

    and examined by examples: MLlib, a library for machine learning, and Spark Streaming, for

    processing streaming data. The main topic of this thesis constitutes the modeling of imple-

    mentations for streaming data analysis applications. Within this chapter the functionality of

    Spark and its library are shown by detail via complete applications for outlier detection in data

    streams.

    This thesis shows the utilizability of Spark for distributed data processing. The handling of

    Streaming Data is also verified by the implementation of the prototypes. A closing conclusion

    tells the experiences during the thesis and discusses the applicability of Spark.

  • V Inhaltsverzeichnis

    - VI -

    V Inhaltsverzeichnis

    I Vorwort ........................................................................................................................ II

    II Eidesstattliche Erklrung ............................................................................................. III

    III Zusammenfassung ..................................................................................................... IV

    IV Abstract ....................................................................................................................... V

    V Inhaltsverzeichnis ....................................................................................................... VI

    VI Codeblockverzeichnis ..............................................................................