Heim >Betrieb und Instandhaltung >Apache >Was ist Apache Spark?

Was ist Apache Spark?

步履不停
步履不停Original
2019-06-28 13:52:173762Durchsuche

Was ist Apache Spark?

Spark ist ein Open-Source-Cluster-Computing-System, das auf Memory Computing basiert und darauf abzielt, die Datenanalyse schneller zu machen. Spark ist sehr klein und exquisit und wurde von einem kleinen Team unter der Leitung von Matei vom AMP Laboratory der University of California, Berkeley, entwickelt. Die verwendete Sprache ist Scala, und der Code für den Kernteil des Projekts umfasst nur 63 Scala-Dateien, was sehr kurz und prägnant ist.

Spark ist eine Open-Source-Cluster-Computing-Umgebung, die Hadoop ähnelt, aber es gibt einige Unterschiede zwischen den beiden. Diese nützlichen Unterschiede machen Spark bei bestimmten Arbeitslasten überlegen. Mit anderen Worten: Spark ermöglicht verteilte Datensätze im Speicher Optimieren Sie iterative Arbeitslasten und können Sie außerdem interaktive Abfragen bereitstellen.

Spark ist in der Scala-Sprache implementiert und verwendet Scala als Anwendungsframework. Im Gegensatz zu Hadoop sind Spark und Scala eng integriert, wobei Scala es ermöglicht, verteilte Datensätze genauso einfach zu bearbeiten wie lokale Sammlungsobjekte.

Obwohl Spark zur Unterstützung iterativer Jobs auf verteilten Datensätzen entwickelt wurde, ist es tatsächlich eine Ergänzung zu Hadoop und kann parallel auf dem Hadoop-Dateisystem ausgeführt werden. Dieses Verhalten wird durch ein Cluster-Framework eines Drittanbieters namens Mesos unterstützt. Spark wurde vom UC Berkeley AMP Lab (Algorithms, Machines, and People Lab) entwickelt und kann zum Erstellen umfangreicher Datenanalyseanwendungen mit geringer Latenz verwendet werden.

Spark-Cluster-Computing-Architektur
Obwohl Spark Ähnlichkeiten mit Hadoop aufweist, bietet es ein neues Cluster-Computing-Framework mit nützlichen Unterschieden. Erstens ist Spark für eine bestimmte Art von Arbeitslast im Cluster-Computing konzipiert, nämlich solche, die Arbeitsdatensätze (z. B. Algorithmen für maschinelles Lernen) zwischen parallelen Vorgängen wiederverwenden. Um diese Art von Arbeitslasten zu optimieren, führt Spark das Konzept des In-Memory-Cluster-Computing ein, bei dem Datensätze im Speicher zwischengespeichert werden, um die Zugriffslatenz zu reduzieren.

Spark führt außerdem eine Abstraktion namens Resilient Distributed Dataset (RDD) ein. Ein RDD ist eine Sammlung schreibgeschützter Objekte, die über eine Reihe von Knoten verteilt sind. Diese Sammlungen sind belastbar und können wiederhergestellt werden, wenn ein Teil des Datensatzes verloren geht. Der Prozess der Rekonstruktion eines Teildatensatzes basiert auf einem fehlertoleranten Mechanismus, der die „Herkunft“ aufrechterhält (d. h. Informationen, die eine teilweise Rekonstruktion des Datensatzes auf der Grundlage von Datenableitungsprozessen ermöglichen). Ein RDD wird als Scala-Objekt dargestellt, das aus einer Datei erstellt werden kann; eine weitere transformierte Form des RDD, z. B. zwischengespeicherte Anforderungen in Erinnerung.

Anwendungen in Spark werden als Treiber bezeichnet, und diese Treiber implementieren Vorgänge, die auf einem einzelnen Knoten oder parallel auf einer Reihe von Knoten ausgeführt werden. Wie Hadoop unterstützt Spark Ein-Knoten-Cluster oder Multi-Knoten-Cluster. Für den Multi-Node-Betrieb setzt Spark auf den Mesos-Clustermanager. Mesos bietet eine effiziente Plattform für die gemeinsame Nutzung und Isolierung von Ressourcen für verteilte Anwendungen. Dieses Setup ermöglicht die Koexistenz von Spark und Hadoop in einem gemeinsamen Knotenpool.

Weitere technische Artikel zu Apache finden Sie in der Spalte Apache-Tutorial, um mehr darüber zu erfahren!

Das obige ist der detaillierte Inhalt vonWas ist Apache Spark?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

In Verbindung stehende Artikel

Mehr sehen