Wenn man über Big Data spricht, meint man damit oft gleichzeitig auch Hadoop. Hadoop ist eine der zentralen Technologien im Big Data Umfeld. Laut IDC gibt es in Österreich inzwischen auch schon etliche Pilotprojekte. [...]
Die IDC hat in den letzten Monaten mehrere Umfragen zu Hadoop gemacht und mit den bedeutendsten heimischen Unternehmen gesprochen – mit dem Resultat, dass mittlerweile sehr viele Pilotprojekte mit Hadoop durchgeführt werden.
Hadoop ist keine Software, die man mithilfe eines Setup-Assistenten installiert. Es handelt sich um eine Plattform für verschiedene Dienste. Erste große Anwendungen liefen bei Yahoo, wo Hadoop für Map/Reduce Jobs benutzt wurde. Heute muss man nicht mehr zwangsweise Map/Reduce Jobs selbst schreiben, denn Hadoop bietet eine ganze Reihe an abstrakten Sprachen, welche Skripte wiederum in Map/Reduce Umfragen übersetzen.
Der Hadoop-Stack lässt sich in fünf große Blöcke einteilen, welche wiederum mehrere Teilprojekte haben. Der erste Block kümmert sich um das Cluster-Management. Hier sind Hadoop-Projekte vertreten, welche die primäre Aufgabe haben, grundlegende Infrastrukturbereiche abzudecken. Ambari ist hierbei für die Provisionierung, Überwachung und Management, ZooKeeper für die Koordinierung im Cluster und Oozie für das Workflow-Scheduling zuständig.
Eine Ebene höher befinden sich wichtige Dienste wie HDFS (Hadoop Distributed File System) und die gemeinsam genutzten Bibliotheken. YARN ist die Ausführungsebene, welche sich um die Ausführung der Map/Reduce Jobs kümmert und die Ressourcen verwaltet.
Der nächste Layer besteht aus dem Datenspeicher, Datenzugriff und „Data Science“. Wichtige Projekte sind hier HBase, welches eine sehr beliebte NoSQL-Datenbank zum Speichern großer Datenmengen darstellt. Für den Datenzugriff wird oftmals Apache Pig und Apache Hive verwendet. Apache Hive ist vor allem für SQL-Entwickler sehr interessant, da das Konzept von Hive auf SQL basiert (wobei viele Elemente von SQL nicht unterstützt werden). Apache Pig wiederum bietet eine „Datenflusssprache“ und ermöglicht es, Daten zu transformieren.
Auf diesen Layer gibt es noch eine ganze Menge weiterer Projekte wie etwa Apache Storm, welches vor allem für Echtzeitanalysen sehr gut geeignet ist. Storm wurde von Twitter entwickelt, um die „Trending Topics“ anzuzeigen. Aber auch andere Teilprojekte wie etwa Tez, Mahout, Giraph und Spark bieten sehr interessante Möglichkeiten, um mit großen und sich schnell bewegenden Datenquellen zu arbeiten.
Der vorletzte Layer bietet zahlreiche Projekte für die Datenintegration. Müssen Daten importiert werden, so sind Projekte auf diesem Layer hilfreich. Der letzte Layer bietet ein GUI an. Dieses kommt vom führenden Hadoop-Distributor Cloudera und heißt Hue. Dieses Projekt macht die Arbeit mit Hadoop wesentlich einfacher. (pi/aw)
Be the first to comment