Big Data Analytics mit Hadoop – Buchempfehlung

Big Data ist eines der Buzzwords dieser Jahre und steht für das Potenzial der heranwachsenden Datenmengen für Wirtschaft und Wissenschaft. Das Potenzial ergibt sich aus dem Erfassen und Sammeln dieser Datenmengen aus den unterschiedlichsten Quellen. Die Nutzung des Potenzials erfolgt jedoch erst mit der Datenanalyse, daher wird oftmals zwar von Big Data geredet, jedoch Big Data Analytics gemeint.

Das in der Praxis am häufigsten vorkommende Datenbankmodell ist die relationale Datenbank, die Daten in untereinander verknüpfte Tabellenstrukturen speichert. Relationale Datenbanken sind zwar nicht direkt auf eine bestimmte Größe beschränkt, so begrenzt ausschließlich das Betriebssystem die Größe einer MySQL-Datenbank, dennoch tauchen bei großen Abfragen mit SQL-Queries oftmals schwer nachvollziehbare Fehler auf. Eine fehlgeschlagene SQL-Query lässt sich nur schwer debuggen, wenn sie nach Stunden abbricht.

Abhilfe verspricht Apache Hadoop mit einem verteilten Dateisystem (HDFS) und dem NoSQL-Ansatz und MapReduce-Algorithmus, der auch die Analyse von unstrukturierten Daten ermöglicht. Durch HDFS werden mit Commodity Hardware Datensammlungen und Analysen im Petabyte-Bereich möglich. Für die Auswertung der Datenmengen werden dadurch auch keine backup-kritischen Großrechner mehr benötigt, denn MapReduce-Jobs können auf verschiedener, räumlich getrennter Hardware zeitlich parallel erfolgen, erst die Ergebnisse werden auf einem dafür vorbestimmten Rechner (Server) zusammengetragen und weiterverarbeitet. Dabei werden Daten über die verteilte Hardware redundant gehalten, was als Data Warehouse (unter bestimmten Voraussetzungen) Ausfallsicherheit bedeutet.

Hadoop ist ein freies Open Source Framework, dessen Entwicklung von der Apache Software Foundation vorangetrieben wurde. Es wird auch von den Unternehmen eingesetzt, die heute als Pioniere von Big Data gelten, beispielsweise Facebook, Yahoo!, Twitter, Amazon und Google. Vor allem Google, Facebook und Yahoo! steuerten große Teile zu Hadoop bei.

Hadoop: Zuverlässige, verteilte und skalierbare Big-Data-Anwendungen

Das Buch Hadoop – Zuverlässige, verteilte und skalierbare Big-Data-Anwendungen vom Autor Ramon Wartala bietet einen breiten und tiefen Einblick in Hadoop und dessen modulare Nebensysteme:

  • Datenfluss-Sprachen:
    • Hive
    • Pig
    • CludBase
  • Spaltenorientierte Datenbanken
    • HBase
    • Hypertable
  • Daten-Serialisierung
    • Avro
    • Thrift
    • Google Protocol Buffer
    • Sqoop
  • Workflow-Systeme
    • Azkaban
    • Oozie
    • Cascading
    • Hue
  • ZooKeeper
  • Mahout
  • Whirr

Das Buch führt ausführlich durch die Installation von Hadoop auf einem Linux-System, leitet die ersten Schritte im Umgang mit dem verteilten Dateisystem von Hadoop (HDFS) sowie zur Implementierung von MapReduce-Algorithmen an. Auch in die empfohlene Entwicklungsumgebung Eclipse (mit Plugin) wird hinreichend eingewiesen. Zum Ende gibt der Autor noch Tipps rund um das Management und die Überwachung der MapReduce-Jobs und des Hadoop-Ökosystems. Ferner werden vier Beispiele des Hadoop-Einsatzes in der Praxis vorgestellt. Wer einen Einstieg in die Praxis von Hadoop finden möchte, kann sich Hadoop als Standalone-Anwendung installieren und die Datenverteilung simulieren, oder sich Linux-Server bei Providern anmieten.

Hadoop besteht im Wesentlichen aus Java Programmcode (von Oracle, vormals Sun Microsystems), daher ist zumindest ein Grundwissen in Java notwendig, um tiefer in Hadoop eintauchen zu können und auch um die Quellcode-Beispiele im Buch verstehen zu können. Außerdem sind Linux-Kenntnisse (insbesondere Ubuntu/Debian) vorteilhaft. Wer kein Freund der Programmiersprache Java ist, kann durch das Hadoop Streaming auch MapReduce-Funktionen in C, Ruby, PHP oder Python realisieren; Hierfür bietet Hadoop eine Standardein/ausgabe-Schnittstelle an.


Hadoop: The Definitive Guide

Die Community rund um Hadoop ist nahezu vollständig englischsprachig, für einen tieferen Einblick in Hadoop ist daher englischsprachige Literatur zu empfehlen, beispielsweise das Buch Hadoop: The Definitive Guide. Für einen ersten Einstieg in das Hadoop-System ist das obige deutschsprachige Buch jedoch absolut empfehlenswert.

Funktion und Nutzen des Turtle-Models (8W-Modell)

Erfolgreiche Unternehmen versuchen Probleme zu identifizieren und zu lösen, solange sie noch klein sind und beschäftigen sich demzufolge nicht nur mit Symptomen und Kennzahlen, sondern auch mit ihnen zugrunde liegenden Ursache-Wirkungsketten.
Die Beschreibung von Prozessen und deren Darstellung in Prozessmodellen erfolgt bei Unternehmen häufig aufgrund von Kundenanforderungen oder externen Regelwerken, um die Schlüssigkeit der Unternehmensorganisation und Reproduzierbarkeit von Abläufen nach außen hin glaubhaft darzustellen.
Wesentlicher Treiber ist dabei der Nachweis der Qualitätsfähigkeit innerhalb einer Kunden-Lieferantenbeziehung oder der Nachweis der Erfüllung obligatorischer organisatorischer Sorgfaltspflichten.
Intern ist ein Führen mit Kennzahlen oder das Gestalten von Veränderungen im Unternehmen nur sehr eingeschränkt möglich, wenn es für wesentliche Geschäftsprozesse mehr informelle Regelungen als nachprüfbar dokumentierte Standards gibt.
Zur Planung, Beschreibung und Analyse von Prozessen haben sich in der Praxis eine Reihe von Vorgehensmöglichkeiten entwickelt, die je nach Zielstellung ausgewählte kritische Teilprozesse betrachten oder zusammenhängende Prozessketten, die z. B. Grundlage für eine Prozess-Simulation oder Prozesskostenrechnung sein können.
Notwendige Projekterfahrung im Geschäftsprozessmanagement oder die Komplexität verfügbarer IT Lösungen setzen in der Praxis den meisten Unternehmen jedoch Grenzen.
Für die einfache Darstellung und Analyse von Prozessen hat sich insbesondere im Bereich Automotive überwiegend das Turtle-Model (oder auch 8W-Modell) etabliert. Der Name Turtle rührt von der oft skizzierten Form einer Schildkröte her, wo Maul und Schwanz jeweils (Prozess-) Input und Output sowie die Gliedmaßen bestimmte Einflussfaktoren symbolisieren.
Die in klassischen Organigrammen und Prozessbeschreibungen zu findende Frage nach dem wer macht was wird beim Turtle-Model um das warum, wann, womit, wie, wohin und wie gut für jeden einzelnen Prozess-Schritt erweitert. Die Notwendigkeit einzelner Prozess-Schritte kann damit genau so kritisch betrachtet werden wie Unsicherheiten oder Unklarheiten bei der Regelung erfolgskritischer Details.

8W-Modell (Turtle-Modell)

→ WEITERLESEN