Einführung in Hadoop-Alternativen

Apache Hadoop ist ein monströses Framework, das verschiedene andere Komponenten wie HDFS, Hive, Spark, YARN und Zookeeper verwendet. Es wird zur Verarbeitung und Analyse von Daten verwendet, die aus internen oder externen Quellen abgerufen wurden. Es kann von mehreren Computern oder Servern auf Tausende von ihnen skaliert werden. Es gibt viele integrierte Bibliotheksfunktionen, mit denen Fehlfunktionen erkannt und behoben werden können.

Komponenten von Hadoop

1) Hadoop Distributed File System (HDFS):

Dies ist der Datenspeicher in Hadoop. Es basiert auf dem Prinzip verteilter Daten, bei dem große Datenmengen in kleine Teile zerlegt und auf mehreren Computern in einem Cluster gespeichert werden.

2) MapReduce:

Es ist ein Programmiermodell, um Daten, die sich in verschiedenen Knoten eines Clusters befinden, parallel zu analysieren.

3) Bienenstock:

Ein Open-Source-Framework, mit dem die strukturierten Daten in einer Hive-Query-Sprache abgefragt werden. Die Indizierungsfunktion wird verwendet, um den Abfrageprozess zu beschleunigen.

4) Ambari:

Eine Plattform zur Überwachung des Clusterzustands und zur Automatisierung von Vorgängen. Es verfügt über eine einfache Web-Benutzeroberfläche und kann einfach installiert und konfiguriert werden.

Liste der Hadoop-Alternativen

Nachfolgend finden Sie die verschiedenen Hadoop-Alternativen:

Stapelverarbeitung

Hier erfolgt die Verarbeitung nur auf die Archivdaten. Beispielsweise handelt es sich bei Finanzprüfungen und Volkszählungen um eine Analyse alter Daten, um eine bessere Vorhersage der zukünftigen Ergebnisse zu ermöglichen. Diese Daten können Milliarden von Zeilen und Spalten enthalten. Die Stapelverarbeitung eignet sich am besten für die Verarbeitung großer Datenmengen, ohne dass eine Echtzeitanalyse erforderlich ist.

Echtzeitverarbeitung

Es ist auch als Stream-Processing bekannt. Hier werden die Daten von Zeit zu Zeit verarbeitet, während sie generiert werden, um einen schnellen Einblick in die wahrscheinlichen Ergebnisse zu erhalten. Erdbebenerkennung und Aktienmärkte sind die besten Beispiele, bei denen Echtzeitanalysen ein Muss sind.

Apache Spark

Spark ist ein Framework, das zusammen mit Hadoop zum Verarbeiten von Stapel- oder Echtzeitdaten auf geclusterten Computern verwendet wird. Es kann auch als eigenständiger Server verwendet werden, um Daten auf Servern von Drittanbietern ohne Verwendung von HDFS abzurufen und zu speichern. Es ist ein Open-Source-Produkt. Es bietet APIs, die mit SCALA, R oder Python geschrieben wurden und die allgemeine Verarbeitung unterstützen. Zur Verarbeitung strukturierter Daten kann Spark-SQL verwendet werden. Spark Streaming führt dringend benötigte Echtzeitanalysen durch. Spark bietet Unterstützung für maschinelles Lernen mit MLIB. Am Ende können die verarbeiteten Daten mit Graphix angezeigt werden.

Das bemerkenswerteste Merkmal von Spark ist die In-Memory-Verarbeitung. Die gesamte Verarbeitung der Daten erfolgt im Speicher und nicht auf der Festplatte. Diese Methode speichert die Lese- / Schreibzeit der Eingabe auf der Festplatte und die Ausgabe von dieser zurück. Spark ist blitzschnell und fast 100-mal schneller als die Hadoop-Verarbeitung. Die gesamte Funktion wird definiert und dem Spark-Kontext übergeben. Erst dann beginnt die Bearbeitung von vorne. Diese Methode wird als Lazy-Execution bezeichnet. Kafka und Flume werden als Eingaben für das Streaming von Daten verwendet. Strukturierte oder unstrukturierte Daten können von Spark zur Analyse verwendet werden. Datenströme sind eine Reihe von Daten für ein bestimmtes Zeitintervall in Spark Streaming. Sie werden in Chargen umgewandelt und zur Verarbeitung an die Spark Engine übergeben. Strukturierte Daten werden in Datenrahmen konvertiert, bevor Spark-SQL für die weitere Analyse verwendet wird.

Apache Storm

Apache Storm ist auch eine der Alternativen von Hadoop, die sich am besten für verteilte Echtzeitanalysen eignet. Es ist einfach einzurichten, benutzerfreundlich und bietet keinen Datenverlust. Ein Sturm hat eine sehr hohe Rechenleistung und bietet im Vergleich zu Hadoop eine geringe Latenz (normalerweise in Sekunden).

Wir werden uns den Workflow von Storm genauer ansehen:

  • Die Sturmtopologie (ähnlich einer DAG, jedoch mit einem physischen Ausführungsplan) wird an Nimbus (Masterknoten) übermittelt.
  • Die Aufgaben und die Reihenfolge, in der sie ausgeführt werden sollen, werden dem Nimbus übermittelt.
  • Der Nimbus verteilt die verfügbaren Aufgaben gleichmäßig auf die Vorgesetzten (Ausgüsse), und der Prozess wird von den Arbeiterknoten (Bolzen) ausgeführt.
  • Der Zustand der Ausläufe und Bolzen wird kontinuierlich durch Herzschläge überwacht. Sobald der Supervisor stirbt, weist der Nimbus die Aufgabe einem anderen Knoten zu.
  • Wenn der Nimbus ausfällt, wird er von den Überwachungstools automatisch neu gestartet. In der Zwischenzeit setzen die Vorgesetzten ihre zuvor zugewiesenen Aufgaben fort.
  • Sobald der Nimbus neu gestartet wurde, funktioniert er an der Stelle weiter, an der er gestoppt wurde. Daher tritt kein Datenverlust auf, und alle Daten durchlaufen die Topologie mindestens einmal.
  • Die Topologie wird solange ausgeführt, bis der Nimbus beendet oder zwangsweise heruntergefahren wird.
  • Storm verwendet Zookeeper, um den Nimbus und die anderen Supervisor-Knoten zu überwachen.

Große Abfrage

Datenbanken werden für die Transaktionsverarbeitung verwendet. Die Manager erstellen Berichte und analysieren die Daten aus verschiedenen Datenbanken. Data Warehouses wurden eingeführt, um Daten aus mehreren Datenbanken im gesamten Unternehmen abzurufen. Google hat Big Query entwickelt, ein Data Warehouse, das von sich selbst verwaltet wird. Für die Bearbeitung sehr komplexer Abfragen sind möglicherweise sehr leistungsfähige Server und Knotencomputer erforderlich, die enorme Kosten verursachen können. Der Aufbau der Infrastruktur kann bis zu mehreren Wochen dauern. Sobald der maximale Schwellenwert erreicht ist, muss er vergrößert werden. Um diese Probleme zu lösen, bietet Big Query Speicher in Form der Google Cloud. Die Worker-Knoten können bei Bedarf auf die Größe eines Rechenzentrums skaliert werden, um eine komplexe Abfrage innerhalb von Sekunden durchzuführen. Sie zahlen für das, was Sie verwenden, dh die Abfrage. Google kümmert sich um die Ressourcen sowie deren Wartung und Sicherheit. Das Ausführen von Abfragen in normalen Datenbanken kann Minuten bis Stunden dauern. Große Abfragen verarbeiten Daten viel schneller und eignen sich hauptsächlich zum Streamen von Daten wie Online-Spielen und dem Internet der Dinge (Internet of Things, IoT). Die Verarbeitungsgeschwindigkeit beträgt Milliarden von Zeilen pro Sekunde.

Presto

Mit einer Presto-Abfrage können Daten aus verschiedenen Quellen im gesamten Unternehmen kombiniert und analysiert werden. Die Daten können sich im Hive, im RDBMS oder in Cassandra befinden. Presto eignet sich am besten für Analysten, die den gesamten abgefragten Bericht innerhalb von Minuten erwarten. Die Architektur ist analog zu einem klassischen Datenbankverwaltungssystem, bei dem mehrere Knoten in einem Cluster verwendet werden. Es wurde von Facebook entwickelt, um Analysen durchzuführen und Erkenntnisse aus den internen Daten einschließlich des 300-PB-Data-Warehouse zu gewinnen. Über 30.000 Abfragen werden mit ihren Daten ausgeführt, um ein Petabyte pro Tag zu scannen. Auch andere führende Unternehmen wie Airbnb und Dropbox nutzen Presto.

Empfohlener Artikel

Dies war ein Leitfaden für Hadoop Alternatives. Hier diskutieren wir die Komponenten von Hadoop, Stapelverarbeitung und Echtzeitverarbeitung von Hadoop-Alternativen. Sie können auch die folgenden Artikel lesen, um mehr zu erfahren:

  1. Hadoop Administrator Jobs
  2. Hadoop vs SQL-Leistung
  3. Karriere in Hadoop
  4. Hadoop gegen Spark
  5. Hadoop Administrator | Fähigkeiten & Karriereweg

Kategorie: