Grundlegende Hadoop-Tools zum Knacken von Big Data



Hadoop ist heute das Schlagwort in der IT-Welt. In diesem Beitrag werden die wichtigsten Hadoop-Tools beschrieben, die Big Data zum Erliegen bringen.

Heute ist der beliebteste Begriff in der IT-Welt „Hadoop“. Innerhalb kurzer Zeit Hadoop ist massiv gewachsen und hat sich für eine große Sammlung verschiedener Projekte als nützlich erwiesen. Die Hadoop-Community entwickelt sich schnell und spielt eine herausragende Rolle in ihrem Ökosystem.





Hier finden Sie einen Überblick über die wichtigsten Hadoop-Tools, die für den Umgang mit Big Data verwendet werden.

wie man ein dynamisches Array in Java deklariert

ambari



Ambari ist ein Apache-Projekt, das von Hortonworks unterstützt wird. Es bietet eine webbasierte Benutzeroberfläche (Graphical User Interface) mit Assistenten-Skripten zum Einrichten von Clustern mit den meisten Standardkomponenten. Ambari stellt alle Cluster von Hadoop-Jobs bereit, verwaltet und überwacht sie.

hdfs-logo

Das HDFS , vertrieben unter Apache-Lizenz, bietet ein grundlegendes Framework für die Aufteilung von Datensammlungen auf mehrere Knoten. In HDFS werden die großen Dateien in Blöcke unterteilt, in denen mehrere Knoten alle Blöcke einer Datei enthalten. Das Dateisystem ist so konzipiert, dass Fehlertoleranz mit hohem Durchsatz kombiniert wird. Die HDFS-Blöcke werden geladen, um ein stetiges Streaming aufrechtzuerhalten. Sie werden normalerweise nicht zwischengespeichert, um die Latenz zu minimieren.



hbaselogo

HBase ist ein spaltenorientiertes Datenbankverwaltungssystem, das auf HDFS ausgeführt wird. HBase-Anwendungen sind in Java geschrieben, ähnlich wie die MapReduce-Anwendung. Es besteht aus einer Reihe von Tabellen, wobei jede Tabelle wie eine herkömmliche Datenbank Zeilen und Spalten enthält. Wenn die Daten in die große Tabelle fallen, speichert HBase die Daten, durchsucht sie und teilt sie automatisch für mehrere Knoten, sodass MapReduce-Jobs sie lokal ausführen können. HBase bietet eine eingeschränkte Garantie für einige lokale Änderungen. Die Änderungen, die in einer einzelnen Zeile vorgenommen werden, können gleichzeitig erfolgreich sein oder fehlschlagen.

hive

Wenn Sie SQL bereits fließend beherrschen, können Sie Hadoop mithilfe von SQL nutzen Bienenstock . Hive wurde von einigen Leuten bei Facebook entwickelt. Apache Hive regelt den Prozess des Extrahierens von Bits aus allen Dateien in HBase. Es unterstützt die Analyse großer Datenmengen, die in Hadoops HDFS und kompatiblen Dateisystemen gespeichert sind. Es bietet auch eine SQL-ähnliche Sprache namens HSQL (HiveSQL), die in die Dateien gelangt und die erforderlichen Snippets für den Code extrahiert.

sqoop

Apache Sqoop wurde speziell entwickelt, um Massendaten effizient aus den herkömmlichen Datenbanken in Hive oder HBase zu übertragen. Es kann auch verwendet werden, um Daten aus Hadoop zu extrahieren und in externe strukturierte Datenspeicher wie relationale Datenbanken und Enterprise Data Warehouses zu exportieren. Sqoop ist ein Befehlszeilenprogramm, das die Zuordnung zwischen den Tabellen und der Datenspeicherschicht vornimmt und die Tabellen in eine konfigurierbare Kombination aus HDFS, HBase oder Hive übersetzt.

Pig1

Wenn die gespeicherten Daten für Hadoop sichtbar sind, Apache Pig taucht in die Daten ein und führt den Code aus, der in seiner eigenen Sprache geschrieben ist und Pig Latin heißt. Pig Latin ist mit Abstraktionen für den Umgang mit den Daten gefüllt. Pig verfügt über Standardfunktionen für allgemeine Aufgaben wie das Mitteln von Daten, das Arbeiten mit Datumsangaben oder das Auffinden von Unterschieden zwischen Zeichenfolgen. Mit Pig kann der Benutzer auch selbst Sprachen schreiben, die als UDF (User Defined Function) bezeichnet werden, wenn die Standardfunktionen nicht ausreichen.

zookeper

Tierpfleger ist ein zentraler Dienst, der Informationen verwaltet, konfiguriert, einen Namen gibt und eine verteilte Synchronisierung über einen Cluster hinweg ermöglicht. Es legt dem Cluster eine dateisystemähnliche Hierarchie auf und speichert alle Metadaten für die Maschinen, sodass wir die Arbeit der verschiedenen Maschinen synchronisieren können.

NoSQL

Einige Hadoop-Cluster lassen sich in integrieren NoSQL Datenspeicher mit eigenen Mechanismen zum Speichern von Daten in einem Cluster von Knoten. Auf diese Weise können sie Daten mit allen Funktionen der NoSQL-Datenbank speichern und abrufen. Anschließend kann Hadoop zum Planen von Datenanalysejobs auf demselben Cluster verwendet werden.

mahoutlogo

Mahout wurde entwickelt, um eine Vielzahl von Algorithmen, Klassifizierungen und Filtern der Datenanalyse in Hadoop-Cluster zu implementieren. Viele der Standardalgorithmen wie K-Mittelwerte, Dirichelet, Parallelmuster und Bayes'sche Klassifikationen können mit einer Karte im Hadoop-Stil auf den Daten ausgeführt und reduziert werden.

Lucene, In Java geschrieben und einfach in Hadoop zu integrieren, ist ein natürlicher Begleiter für Hadoop. Es ist ein Tool zum Indizieren großer Blöcke unstrukturierten Texts. Lucene kümmert sich um die Indizierung, während Hadoop die verteilten Abfragen im Cluster übernimmt. Die Funktionen von Lucene-Hadoop entwickeln sich rasant weiter, während neue Projekte entwickelt werden.

Avro

Euro ist ein Serialisierungssystem, das die Daten zusammen mit einem Schema zum Verständnis bündelt. Jedes Paket enthält eine JSON-Datenstruktur. JSON erklärt, wie die Daten analysiert werden können. Der Header von JSON gibt die Struktur für die Daten an, wobei vermieden werden kann, dass zusätzliche Tags in die Daten geschrieben werden müssen, um die Felder zu markieren. Die Ausgabe ist wesentlich kompakter als die herkömmlichen Formate wie XML.

Ein Job kann vereinfacht werden, indem er in Schritte unterteilt wird. Wenn Sie das Projekt in mehrere Hadoop-Jobs aufteilen, Oozie beginnt mit der Verarbeitung in der richtigen Reihenfolge. Es verwaltet den Workflow gemäß DAG (Directed Acyclic Graph) und es ist keine zeitnahe Überwachung erforderlich.

GIS-Tools

Die Arbeit mit geografischen Karten ist eine große Aufgabe für Cluster, in denen Hadoop ausgeführt wird. Das GIS ( Geographisches Informationssystem ) Tools für Hadoop-Projekte haben die besten Java-basierten Tools angepasst, um geografische Informationen für die Ausführung mit Hadoop zu verstehen. Die Datenbanken können jetzt geografische Abfragen mithilfe von Koordinaten verarbeiten, und die Codes können die GIS-Tools bereitstellen.

Das Sammeln aller Daten entspricht dem Speichern und Analysieren. Apache Flume entsendet „Spezialagenten“, um Informationen zu sammeln, die in HDFS gespeichert werden. Die gesammelten Informationen können Protokolldateien, Twitter-API oder Website-Scraps sein. Diese Daten können verkettet und analysiert werden.

Spark

Funke ist die nächste Generation, die so ziemlich wie Hadoop funktioniert und im Speicher zwischengespeicherte Daten verarbeitet. Ziel ist es, die Datenanalyse mit einem allgemeinen Ausführungsmodell schnell zum Ausführen und Schreiben zu bringen. Dies kann beliebige Operatordiagramme optimieren und In-Memory-Computing unterstützen, wodurch Daten schneller abgefragt werden können als bei festplattenbasierten Engines wie Hadoop.

SQL auf Hadoop

Wenn eine schnelle Ad-hoc-Abfrage aller Daten im Cluster ausgeführt werden muss, kann ein neuer Hadoop-Job geschrieben werden. Dies dauert jedoch einige Zeit. Als Programmierer dies häufiger taten, entwickelten sie Tools, die in der einfachen Sprache SQL geschrieben waren. Diese Tools bieten schnellen Zugriff auf die Ergebnisse.

Apache Drill

Apache Drill bietet Ad-hoc-Abfragen mit geringer Latenz für zahlreiche und unterschiedliche Datenquellen, einschließlich verschachtelter Daten. Drill, inspiriert von Googles Dremel, kann auf 10.000 Server skaliert werden und Petabytes an Daten in Sekunden abfragen.

Dies sind die wesentlichen Hadoop-Tools für die Verarbeitung von Big Data!

Hast du eine Frage an uns? Bitte erwähnen Sie sie in den Kommentaren und wir werden uns bei Ihnen melden.

Zusammenhängende Posts:

Praktische Gründe, um Hadoop 2.0 zu lernen