Empfohlen, 2024

Die Wahl des Herausgebers

Fünf Dinge, die Sie über Hadoop wissen müssen Apache Spark

Обработка больших данных при помощи Apache Spark ч1 | Технострим

Обработка больших данных при помощи Apache Spark ч1 | Технострим
Anonim

Hören Sie sich jede Konversation über Big Data an und Sie werden wahrscheinlich Hadoop oder Apache Spark hören. Hier ist ein kurzer Blick auf das, was sie tun und wie sie sich vergleichen.

1: Sie machen verschiedene Dinge. Hadoop und Apache Spark sind beide Big-Data-Frameworks, aber sie dienen nicht wirklich den gleichen Zwecken. Hadoop ist im Wesentlichen eine verteilte Dateninfrastruktur: Es verteilt massive Datensammlungen über mehrere Knoten innerhalb eines Clusters von Commodity-Servern, was bedeutet, dass Sie keine teure kundenspezifische Hardware kaufen und warten müssen. Es indiziert und verfolgt diese Daten und ermöglicht die Verarbeitung und Analyse großer Datenmengen weit effektiver als dies zuvor möglich war. Spark dagegen ist ein Datenverarbeitungswerkzeug, das auf diesen verteilten Datensammlungen operiert; es führt keinen verteilten Speicher aus.

2: Sie können einen ohne den anderen verwenden. Hadoop enthält nicht nur eine Speicherkomponente, das so genannte Hadoop Distributed File System, sondern auch eine Verarbeitungskomponente namens MapReduce, also Sie Brauchen Sie keinen Spark, um Ihre Verarbeitung zu erledigen. Umgekehrt können Sie Spark auch ohne Hadoop verwenden. Spark verfügt jedoch nicht über ein eigenes Dateiverwaltungssystem. Daher muss Spark in eine - wenn nicht HDFS - und dann in eine andere Cloud-basierte Datenplattform integriert werden. Spark wurde für Hadoop entwickelt, aber viele stimmen darin überein, dass sie besser zusammen sind.

[Lesen Sie weiter: Ihr neuer PC benötigt diese 15 kostenlosen, ausgezeichneten Programme]

3: Spark ist schneller. Spark ist generell viel schneller als MapReduce wegen der Art, wie es Daten verarbeitet. Während MapReduce in Schritten arbeitet, arbeitet Spark auf einen Schlag mit dem gesamten Datensatz. "Der MapReduce-Workflow sieht folgendermaßen aus: Daten aus dem Cluster lesen, eine Operation ausführen, Ergebnisse in den Cluster schreiben, aktualisierte Daten aus dem Cluster lesen, nächste Operation ausführen, nächste Ergebnisse in den Cluster schreiben usw.", erklärte Kirk Borne, Hauptdatenwissenschaftler bei Booz Allen Hamilton. Spark hingegen vervollständigt die gesamten Datenanalyseoperationen im Speicher und nahezu in Echtzeit: "Lesen Sie Daten aus dem Cluster, führen Sie alle erforderlichen analytischen Operationen durch, schreiben Sie Ergebnisse in den Cluster, fertig", sagte Borne. Spark kann bis zu 10-mal schneller sein als MapReduce für Batch-Verarbeitung und bis zu 100-mal schneller für In-Memory-Analysen.

4: Möglicherweise brauchen Sie die Geschwindigkeit von Spark nicht. MapReduce kann einfach arbeiten Gut, wenn Ihre Datenvorgänge und Berichterstattungsanforderungen größtenteils statisch sind und Sie auf die Batch-Modus-Verarbeitung warten können. Wenn Sie jedoch Daten zum Streaming von Daten analysieren müssen, etwa von Sensoren in einer Fabrikhalle oder Anwendungen, die mehrere Operationen erfordern, sollten Sie wahrscheinlich mit Spark arbeiten. Die meisten maschinellen Lernalgorithmen erfordern beispielsweise mehrere Operationen. Zu den gängigen Anwendungen für Spark gehören Echtzeit-Marketingkampagnen, Online-Produktempfehlungen, Cybersecurity-Analysen und Maschinenprotokollüberwachung.

5: Fehlerbehebungswiederherstellung: anders, aber immer noch gut. Hadoop ist aufgrund von Daten anfällig für Systemfehler oder -ausfälle werden nach jeder Operation auf den Datenträger geschrieben, aber Spark verfügt über eine ähnliche integrierte Ausfallsicherheit, da seine Datenobjekte in so genannten resilienten verteilten Datensätzen gespeichert sind, die über den Datencluster verteilt sind. "Diese Datenobjekte können im Speicher oder auf Festplatten gespeichert werden, und RDD bietet vollständige Wiederherstellung von Fehlern oder Fehlern", betonte Borne.

Top