Hadoop-Tools für ein kontinuierliches Daten-Management von Big Data

Hadoop ist eine gute Wahl für Big Data Analytics, dennoch ist die Nutzung eine ständige Herausforderung. Einige Tools können die Arbeit erleichtern.

Wenn es um Big-Data-Management geht, ist Hadoop oft das Mittel der Wahl. Aufgrund der wachsenden Popularität müssen Cloud-Admins ständig mit den Weiterentwicklungen des Ökosystems kämpfen. Hadoop begann als Plattform zum Ausführen von MapReduce, verwandelte sich aber in eine große Computing-Plattform mit einer Vielzahl von Tools, die dazu dienen, den gesamten Lebenszyklus des Daten-Managements zu unterstützen.

Die kontinuierliche Entwicklung von Hadoop wird von YARN ermöglicht, dem neuen Ressourcen-Manager in Hadoop 2. Durch den ständigen Wandel der Daten-Management-Plattform sollten auch Cloud-Admins auf dem Laufenden bleiben, was die Vielfalt von Hadoop-Tools betrifft, die sie bei der Arbeit unterstützen.

Drei nützliche Tools für Hadoop

Das Verschieben von Daten in und aus dem Hadoop Distributed File System (HDFS) ist für die meisten Hadoop-Admins eine tägliche Aufgabe. Während einige Administratoren benutzerdefinierten Code in ihrer bevorzugten Programmiersprache schreiben, gibt es drei Tools, die diese Aufgabe übernehmen können:

  1. Pig: Die deklarative Programmsprache zur Spezifikation von ETL-Jobs in Hadoop bietet Kommandos für die Verarbeitung jeder einzelnen Zeile einer Datei, die Filterung von Datensätzen, die Gruppierung von Teilmengen von Datensätzen sowie deren Sortierung und andere gemeinsame Aufgaben. Pig funktioniert besonders gut mit Textdateien und lässt sich vor allem von SQL-Spezialisten leicht erlernen. Entwickler können benutzerdefinierte Funktionen erstellen, um die Fähigkeiten zu verbessern.
  2. Sqoop: Das Tool zum Laden von Massendaten wurde entwickelt, um Daten zwischen Hadoop und relationalen Datenbanken zu verschieben. Sqoop kann Metadaten lesen, Daten aus Tabellen extrahieren sowie Dateien auf Basis von in HDFS enthaltenen Tabellendaten erstellen. Zudem kann es simultan große Datenmengen laden und ermöglicht ein schnelleres Laden von Daten mit einem einzigen Datenlade-Skript. Die Anwendung generiert schließlich Java-Klassen, um importierte Datentabellen für die Nutzung innerhalb Ihrer Programme manipulieren zu können.
  3. Flume: Das System wurde entwickelt, um den Bedarf einer benutzerdefinierten App, die verschiedene Belastungen bei Datenströmen skaliert, zu beseitigen. Flume kann große Datenmengen in Echtzeit transportieren und eignet sich gut dazu, Daten in Hadoop zu verschieben. Es nutzt ein Basismodell, das auf Ereignissen, Quellen und Kanälen basiert.

Die Workflow-Engine Oozie

Administratoren müssen oft eine ganze Reihe von Programmen ausführen, um eine hochskalierte Big-Data-Analyse abzuschließen. Zum Beispiel müssen sie einige Pig- und Sqoop-Aufgaben zum Laden der Daten, mehrere MapReduce-Aufgaben zum Transformieren und Analysieren der Daten und eine weitere Sqoop-Aufgabe zum Schreiben des Ergebnisses in die relationale Datenbank, ausführen.

Oozie ist eine Workflow-Engine, die es Cloud-Admins ermöglicht zu spezifizieren, welche Aufgabe ausgeführt werden muss und wie diese von anderen Aufgaben abhängt. Zum Beispiel kann MapReduce nicht starten bevor der Datenladevorgang abgeschlossen ist. Admins legen die Details der Workflows in Oozie fest, indem sie die XML Process Definition Language hPDL verwenden.

Neben der Verwendung einer deklarativen Sprache, um einen Workflow zu beschreiben, kann Oozie einen gescheiterten Workflow neu starten. Statt jeden einzelnen Schritt neu zu beginnen, nutzt Oozie Informationen aus dem Workflow, um ihn von der Stelle zum Laufen zu bringen, an dem er abgestürzt ist.

Komplexes Daten-Management mit HBase und Hive

Hadoop ist der Standard für Big-Data-Management und Analysen. ETL und Streaming-Daten-Tools, Workflow-Support und Daten-Management-Tools werden häufig in Hadoop-Umgebungen genutzt, um DevOps zu optimieren und grundlegende Daten-Management-Services zu bieten.

Einfache Daten-Management-Anforderungen für Hadoop funktionieren mit HDFS, komplexere Anwendungen benötigen allerdings HBase und Hive.

HBase ist ein spaltenbasierter Datenspeichertyp von NoSQL-Datenbanken. Es wurde entwickelt, um extrem große Tabellen mit Milliarden Zeilen und Spalten zu unterstützen. HBase übertrifft die Daten-Management-Anforderungen häufig, da es sehr schnell Datensätze mit mehreren Millionen Zeilen durchsucht und aktualisiert.

Hive ist eine Data-Warehouse-Plattform, die SQL-ähnliche Abfragen über hochskalierte Datensätze unterstützt. Zudem nutzt es die Vorteile der parallelen Architektur in Hadoop, um große Tabellen über mehrere Dateien in HDFS zu partitionieren. Allerdings bergen die leistungsfähigen Funktionen von Hive auch Nachteile. Beispielsweise unterstützt es zwar das Überschreiben und Anhängen von Daten, aber nicht das Löschen und Aktualisieren.

Über den Autor:
Dan Sullivan ist Autor, Systemarchitekt und Berater mit mehr als 20 Jahren IT-Erfahrung. Er war in den Bereichen Analytics, Systemarchitektur, Datenbank-Design, Enterprise Security und Business Intelligence aktiv. Sullivan befasst sich in seinen Artikeln mit Data Warehousing, Cloud Computing, Analytics, Security-Management und Collaboration.

Folgen Sie SearchEnterpriseSoftware.de auch auf Facebook, Twitter und Google+!

Artikel wurde zuletzt im September 2014 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close