Hadoop, das Datenverarbeitungs-Framework, das zu einer Plattform für sich selbst geworden ist, wird noch besser, wenn gute Komponenten daran angeschlossen sind. Einige Mängel von Hadoop, wie die MapReduce-Komponente von Hadoop, gelten als langsam für die Echtzeit-Datenanalyse.
Geben Sie Apache Spark ein, eine Hadoop-basierte Datenverarbeitungs-Engine, die sowohl für Batch- als auch für Streaming-Workloads entwickelt wurde. Sie ist jetzt in der Version 1.0 und mit Funktionen ausgestattet, die beispielhaft darstellen, welche Arten von Arbeit Hadoop vorantreibt. Spark wird auf vorhandenen Hadoop-Clustern ausgeführt, um erweiterte und zusätzliche Funktionen bereitzustellen.
Schauen wir uns die wichtigsten Funktionen von spark an und wie es mit Hadoop und zusammenarbeitet .
Apache Spark Hauptvorteile:
Die fantastischen Funktionen von Spark:
- Hadoop-Integration - Spark kann mit in HDFS gespeicherten Dateien arbeiten.
- Die interaktive Shell von Spark - Spark ist in Scala geschrieben und verfügt über eine eigene Version des Scala-Interpreters.
- Spark's Analytic Suite - Spark wird mit Tools für die interaktive Abfrageanalyse, die Verarbeitung und Analyse von Grafiken in großem Maßstab sowie für die Echtzeitanalyse geliefert.
- Resilient Distributed Datasets (RDDs) - RDDs sind verteilte Objekte, die im Speicher über einen Cluster von Rechenknoten zwischengespeichert werden können. Sie sind die primären Datenobjekte, die in Spark verwendet werden.
- Verteilte Betreiber - Neben MapReduce gibt es viele andere Operatoren, die für RDDs verwendet werden können.
Vorteile der Verwendung von Apache Spark mit Hadoop:
grundlegende Datenstrukturen in Java
Apache Spark passt in die Open-Source-Community von Hadoop. Aufbauend auf dem Hadoop Distributed File System (HDFS). Spark ist jedoch nicht an das zweistufige MapReduce-Paradigma gebunden und verspricht für bestimmte Anwendungen eine bis zu 100-mal schnellere Leistung als Hadoop MapReduce.
Gut geeignet für Algorithmen für maschinelles Lernen - Spark bietet Grundelemente für In-Memory-Cluster-Computing, mit denen Benutzerprogramme Daten in den Speicher eines Clusters laden und wiederholt abfragen können.
100 mal schneller laufen - Spark, Analysesoftware kann auch Jobs beschleunigen, die auf der Hadoop-Datenverarbeitungsplattform ausgeführt werden. Apache Spark wird als „Hadoop Swiss Army Knife“ bezeichnet und bietet die Möglichkeit, Datenanalysejobs zu erstellen, die 100-mal schneller ausgeführt werden können als mit dem Standard-Apache Hadoop MapReduce. MapReduce wurde allgemein als Engpass in Hadoop-Clustern kritisiert, da es Jobs im Batch-Modus ausführt, was bedeutet, dass eine Echtzeitanalyse von Daten nicht möglich ist.
Alternative zu MapReduce - Spark bietet eine Alternative zu MapReduce. Es führt Jobs in kurzen Serien von Mikrobatches aus, die fünf Sekunden oder weniger voneinander entfernt sind. Es bietet außerdem mehr Stabilität als stromorientierte Hadoop-Frameworks in Echtzeit wie Twitter Storm. Die Software kann für eine Vielzahl von Aufgaben verwendet werden, z. B. für eine fortlaufende Analyse von Live-Daten und dank einer Softwarebibliothek für rechenintensivere Aufgaben, die maschinelles Lernen und Grafikverarbeitung umfassen.
Unterstützung für mehrere Sprachen - Mit Spark können Entwickler Datenanalysejobs in Java, Scala oder Python mit mehr als 80 übergeordneten Operatoren schreiben.
Was sind Einschränkungen in SQL
Bibliotheksunterstützung - Die Bibliotheken von Spark wurden entwickelt, um die Arten von Verarbeitungsaufträgen zu ergänzen, die mit den neuesten kommerziell unterstützten Bereitstellungen von Hadoop aggressiver untersucht werden. MLlib implementiert eine Reihe gängiger Algorithmen für maschinelles Lernen, wie z. B. die naive Bayes'sche Klassifizierung oder das Clustering. Spark Streaming ermöglicht die Hochgeschwindigkeitsverarbeitung von Daten, die aus mehreren Quellen aufgenommen wurden, und GraphX ermöglicht Berechnungen von Grafikdaten.
Stabile API - Mit der Version 1.0 bietet Apache Spark eine stabile API (Application Programming Interface), mit der Entwickler über ihre eigenen Anwendungen mit Spark interagieren können. Dies hilft bei der einfacheren Verwendung von Storm in der Hadoop-basierten Bereitstellung.
SPARK SQL-Komponente - Die Spark SQL-Komponente für den Zugriff auf strukturierte Daten ermöglicht die Abfrage der Daten neben unstrukturierten Daten in der Analysearbeit. Mit Spark SQL, das derzeit nur in Alpha verfügbar ist, können SQL-ähnliche Abfragen für in Apache Hive gespeicherte Daten ausgeführt werden. Das Extrahieren von Daten aus Hadoop über SQL-Abfragen ist eine weitere Variante der Echtzeit-Abfragefunktion, die rund um Hadoop entsteht.
Apache Spark-Kompatibilität mit Hadoop [HDFS, HBASE und YARN] - Apache Spark ist vollständig kompatibel mit dem Distributed File System (HDFS) von Hadoop sowie mit anderen Hadoop-Komponenten wie YARN (Yet Another Resource Negotiator) und der verteilten HBase-Datenbank.
Industrie-Anwender:
IT-Unternehmen wie Cloudera, Pivotal, IBM, Intel und MapR haben Spark in ihre Hadoop-Stacks integriert. Databricks, ein Unternehmen, das von einigen Entwicklern von Spark gegründet wurde, bietet kommerziellen Support für die Software. Sowohl Yahoo als auch die NASA verwenden die Software unter anderem für den täglichen Datenbetrieb.
Fazit:
Was Spark zu bieten hat, wird sowohl für Benutzer als auch für kommerzielle Anbieter von Hadoop eine große Anziehungskraft haben. Benutzer, die Hadoop implementieren möchten und bereits viele ihrer Analysesysteme auf Hadoop aufgebaut haben, fühlen sich von der Idee angezogen, Hadoop als Echtzeit-Verarbeitungssystem verwenden zu können.
Spark 1.0 bietet ihnen eine weitere Vielzahl von Funktionen zur Unterstützung oder Erstellung proprietärer Elemente. Tatsächlich hat einer der drei großen Hadoop-Anbieter, Cloudera, Spark bereits über sein Cloudera Enterprise-Angebot kommerziell unterstützt. Hortonworks bietet Spark auch als Bestandteil seiner Hadoop-Distribution an. Die groß angelegte Implementierung von Spark durch Top-Unternehmen zeigt den Erfolg und das Potenzial der Echtzeitverarbeitung.
Hast du eine Frage an uns? Erwähnen Sie sie im Kommentarbereich und wir werden uns bei Ihnen melden.
Zusammenhängende Posts:
Was macht Init in Python?