Übersicht der Funkenkomponenten

Stellen Sie sich vor, Sie haben 1000 Aufgaben zur Hand und nur sehr wenig Zeit, um alle zu erledigen. Jemand bietet Ihnen Hilfe an, indem er Ressourcen bereitstellt, die Ihnen einige Aufgaben abnehmen und sie parallel mit Ihnen erledigen können, damit alle Aufgaben pünktlich erledigt werden. Dieser Jemand ist im Computerbereich ein Funke für Sie. Apache Spark ist ein Open-Source- und verteiltes Cluster-Computing-Framework für Big Data und bietet einen optimierten Ansatz für die Durchführung von Analysen für große Datenmengen. Es arbeitet 100-mal schneller als Hadoop und bietet verschiedene Bibliotheken für verschiedene Zwecke wie SQL-Operationen, ML, Streaming, Graph-Verarbeitung usw. Nachfolgend werden die verschiedenen Komponenten von Spark im Detail beschrieben.

Top-Komponenten von Spark

Derzeit gibt es im Spark-Ökosystem 6 Komponenten: Spark Core, Spark SQL, Spark Streaming, Spark MLlib, Spark GraphX ​​und SparkR. Mal sehen, was jede dieser Komponenten macht.

1. Spark Core

Spark Core ist, wie der Name schon sagt, die Kerneinheit eines Spark-Prozesses. Es kümmert sich um Aufgabenplanung, Fehlerbehebung, Speicherverwaltung und Eingabe / Ausgabe-Vorgänge usw. Stellen Sie sich vor, es ist so etwas wie eine CPU für einen Computer. Es unterstützt Programmiersprachen wie Java, Scala, Python und R und bietet APIs für die jeweiligen Sprachen, mit denen Sie Ihren ETL-Job erstellen oder Analysen durchführen können. Alle anderen Komponenten von Spark verfügen über eigene APIs, die auf Spark Core aufbauen. Aufgrund seiner Parallelverarbeitungsfähigkeiten und In-Memory-Berechnungen kann Spark jede Art von Arbeitslast bewältigen.

Spark Core verfügt über eine spezielle Datenstruktur namens RDD (Resilient Distributed Dataset), die die Daten auf alle Knoten in einem Cluster verteilt. RDDs arbeiten mit einem Lazy-Evaluierungsparadigma, bei dem die Berechnung gespeichert und nur ausgeführt wird, wenn dies erforderlich ist. Dies hilft bei der Optimierung des Prozesses, indem nur die erforderlichen Objekte berechnet werden.

2. Spark SQL

Wenn Sie mit Datenbanken gearbeitet haben, wissen Sie, wie wichtig SQL ist. Wäre es nicht extrem überwältigend, wenn derselbe SQL-Code auch in einem größeren Datensatz N-mal schneller funktioniert? Mit Spark SQL können Sie Daten in Spark mit SQL bearbeiten. Es unterstützt JDBC- und ODBC-Verbindungen, die eine Beziehung zwischen Java-Objekten und vorhandenen Datenbanken, Data Warehouses und Business Intelligence-Tools herstellen. Spark enthält so genannte Dataframes, die eine strukturierte Sammlung von Daten in Form von Spalten und Zeilen darstellen.

Mit Spark können Sie diese Daten mit SQL bearbeiten. Datenrahmen entsprechen relationalen Tabellen und können aus beliebigen externen Datenbanken, strukturierten Dateien oder bereits vorhandenen RDDs erstellt werden. Datenrahmen verfügen über alle Funktionen von RDD, z. B. unveränderlich, belastbar und speicherintern, haben jedoch die zusätzliche Eigenschaft, strukturiert und einfach zu bearbeiten zu sein. Die Dataframe-API ist auch in Scala, Python, R und Java verfügbar.

3. Spark-Streaming

Daten-Streaming ist eine Technik, bei der ein kontinuierlicher Datenstrom in Echtzeit verarbeitet wird. Es ist ein Framework erforderlich, das eine geringe Latenz für die Analyse bietet. Spark Streaming bietet dies und eine fehlertolerante und skalierbare API mit hohem Durchsatz für die Datenverarbeitung in Echtzeit. Es wird auf dem diskretisierten Datenstrom (DStream) abstrahiert, der einen Datenstrom darstellt, der in kleine Stapel unterteilt ist. DStream basiert auf RDD, sodass Spark Streaming nahtlos mit anderen Spark-Komponenten zusammenarbeitet. Einige der bekanntesten Nutzer von Spark.

Streaming ist Netflix, Pinterest und Uber. Spark Streaming kann in Apache Kafka integriert werden, eine Entkopplungs- und Pufferplattform für Eingabestreams. Kafka fungiert als zentraler Hub für Echtzeit-Streams, die mithilfe von Algorithmen in Spark Streaming verarbeitet werden.

4. Funken MLLib

Die Hauptattraktion von Spark besteht darin, die Berechnung massiv zu skalieren, und diese Funktion ist die wichtigste Voraussetzung für jedes maschinelle Lernprojekt. Spark MLLib ist die maschinelle Lernkomponente von Spark, die maschinelle Lernalgorithmen wie Klassifizierung, Regression, Clustering und kollaboratives Filtern enthält. Es bietet auch einen Ort für Merkmalsextraktion, Dimensionsreduzierung, Transformation usw.

Sie können Ihre Modelle auch speichern und in größeren Datensätzen ausführen, ohne sich um Größenprobleme kümmern zu müssen. Es enthält auch Dienstprogramme für lineare Algebra, Statistik und Datenverarbeitung. Dank der In-Memory-Verarbeitung, Fehlertoleranz, Skalierbarkeit und einfachen Programmierung von Spark können Sie mit Hilfe dieser Bibliothek problemlos iterative ML-Algorithmen ausführen.

5. GraphX

Graph Analytics ermittelt im Grunde genommen die Beziehungen zwischen Objekten in einem Graphen, beispielsweise den kürzesten Abstand zwischen zwei Punkten. Dies hilft bei der Routenoptimierung. Die Spark GraphX-API unterstützt Sie bei der grafischen und grafisch-parallelen Berechnung. Es vereinfacht die Grafikanalyse und macht sie schneller und zuverlässiger. Eine der wichtigsten und bekanntesten Anwendungen der Grafikanalyse ist Google Maps.

Es ermittelt die Entfernung zwischen zwei Standorten und gibt einen optimalen Routenvorschlag. Ein weiteres Beispiel können die Vorschläge von Facebook-Freunden sein. GraphX ​​funktioniert sowohl mit Grafiken als auch mit Berechnungen. Spark bietet eine Reihe von Grafikalgorithmen wie Page Rank, verbundene Komponenten, Label Propagation, SVD ++, stark verbundene Komponenten und Dreieckszahl.

6. SparkR

R ist die am häufigsten verwendete statistische Sprache, die mehr als 10.000 Pakete für verschiedene Zwecke umfasst. Es wurde eine Datenrahmen-API verwendet, die das Arbeiten erleichtert und den Datenwissenschaftlern leistungsstarke Visualisierungen zur gründlichen Analyse ihrer Daten bietet. R unterstützt jedoch keine parallele Verarbeitung und ist auf die in einem einzelnen Computer verfügbare Speicherkapazität beschränkt. Hier kommt SparkR ins Spiel.

Spark hat ein Paket namens SparkR entwickelt, das das Skalierbarkeitsproblem von R löst. Es basiert auf verteilten Datenrahmen und bietet die gleiche Syntax wie die Distributed Processing Engine von R. Spark Sie wollen für ihre Analysen.

Fazit

Da Spark ein universelles Framework ist, findet es sich in einer Vielzahl von Anwendungen wieder. Aufgrund seiner Leistung und Zuverlässigkeit wird Spark in den meisten Big-Data-Anwendungen in großem Umfang eingesetzt. Alle diese Komponenten von Spark werden in jeder neuen Version mit neuen Funktionen aktualisiert und erleichtern so unser Leben.

Empfohlene Artikel

Dies ist eine Anleitung zu Spark Components. Hier diskutieren wir die Übersicht und die 6 wichtigsten Komponenten des Funkens mit einer detaillierten Erklärung. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Top 5 wichtige Hive-Alternativen
  2. Talend Open Studio-Komponenten / -Tools
  3. Top 6 Komponenten des IoT-Ökosystems
  4. Was ist Talend Data Integration mit Vorteilen?

Kategorie: