Database
 sql >> Datenbank >  >> RDS >> Database

Lassen Sie sich von Apache Spark entzünden – Teil 2

Vielen Dank für Ihre Zeit; Ich versuche auf jeden Fall, deine zu schätzen. In Teil 1 haben wir über Apache Spark-Bibliotheken, Spark-Komponenten wie Driver, DAG Scheduler, Task Scheduler und Worker gesprochen. Jetzt in Teil 2 werden wir die Grundlagen von Spark-Konzepten wie ausfallsichere verteilte Datensätze, gemeinsam genutzte Variablen, SparkContext, Transformationen, Aktionen und Vorteile der Verwendung von Spark zusammen mit Beispielen und der Verwendung von Spark diskutieren.

RDD – Belastbare verteilte Datensätze

Sie sind Sammlungen von serialisierbaren Elementen und eine solche Sammlung kann partitioniert werden, in welchem ​​Fall sie in mehreren Knoten gespeichert wird.

Es kann sich im Arbeitsspeicher oder auf der Festplatte befinden.

Spark verwendet RDD, um I/O zu reduzieren und die verarbeiteten Daten im Arbeitsspeicher zu halten

RDD hilft beim Tolerieren von Knotenausfällen und muss nicht den gesamten Prozess oder die Berechnung neu starten

Normalerweise wird es aus dem Hadoop-Eingabeformat oder aus einer Transformation erstellt, die auf vorhandene RDDs angewendet wird.

RDDs speichern ihre Datenherkunft; Wenn Daten verloren gehen, gibt Spark die Herkunft wieder, um die verlorenen RDDs wiederherzustellen.

RDDs sind unveränderlich.

Gemeinsame Variablen

Spark verfügt über zwei Arten von Variablen, die den Austausch von Informationen zwischen den Ausführungsknoten ermöglichen.

Zwei Variablen sind Broadcast- und Akkumulator-Variablen.

Broadcast-Variablen werden alle an die Remote-Ausführungsknoten gesendet, ähnlich wie MapReduce-Konfigurationsobjekte.

Akkumulatoren werden alle auch an entfernte Ausführungsknoten gesendet, mit der Einschränkung, dass wir nur zu den Akkumulatorvariablen hinzufügen können, ähnlich wie bei MapReduce-Zählern.

Spark-Kontext

Es ist ein Objekt, das die Verbindung zu einem Spark-Cluster darstellt.

Es wird verwendet, um RDDs zu erstellen, Daten zu übertragen und Akkumulatoren zu initialisieren.

Transformationen

Es sind Funktionen, die ein RDD nehmen und ein anderes zurückgeben.

Transformationen ändern niemals ihre Eingabe, sondern geben nur das geänderte RDD zurück.

Es ist immer faul, also berechnen sie ihre Ergebnisse nicht. Anstatt eine Transformationsfunktion aufzurufen, wird nur ein neues RDD erstellt.

Der gesamte Satz der oben genannten Transformationen wird ausgeführt, wenn eine Aktion aufgerufen wird.

Es gibt viele Transformationen in Spark – map(), filter(), KeyBy(), Join(), groupByKey(), sort().

 Aktion

Aktionen sind Methoden, die ein RDD nehmen und Berechnungen durchführen und das Ergebnis an die Treiberanwendung zurückgeben.

Aktionen lösen die Berechnung von Transformationen aus, und die Ergebnisse können eine Sammlung sein, Werte auf dem Bildschirm, Werte in einer Datei gespeichert.

Aktion wird niemals ein RDD zurückgeben.

Vorteile

  • Einfachheit
  • Vielseitigkeit
  • Reduzierte Festplatten-E/A
  • Speicherung
  • Mehrsprachig
  • Unabhängigkeit des Ressourcenmanagers
  • Interaktive Shell (REPL)

Spark ist, wie andere Big-Data-Tools auch, leistungsstark, leistungsfähig und gut geeignet, um eine Reihe von Analytics- und Big-Data-Herausforderungen zu bewältigen.

Dieser Artikel erschien ursprünglich hier. Wiederveröffentlicht mit Genehmigung. Reichen Sie Ihre Urheberrechtsbeschwerden hier ein.