Funken vereint

Funken vereint
Die Big -Data -Verarbeitung ist ein heißes Thema in der technischen Welt. Es gibt eine große Anzahl von Bibliotheken und Frameworks, die für die reguläre Big -Data -Verarbeitung verwendet werden. Wir werden ein Framework diskutieren, den Apache Spark, bei dem es sich um eine Datenverarbeitungs -Engine für massiv verteilte Daten handelt. Wir werden auch eine seiner beliebten Methoden, das Spark Coalesce, diskutieren, mit dem die Partitionen des Datensatzes zusammen mit seinem Beispiel reduziert werden können.

Was ist Apache Spark?

Apache Spark ist ein kostenloses und offenes Datenverarbeitungstool, das grundlegende Programmierstrukturen verwendet.

Spark begann 2009 als Amplab -Experiment an der UC Berkeley. Es ist Teil der BSD -Lizenz, die 2010 veröffentlicht wird. Spark wurde 2013 zu einem Apache -Projekt. Im Jahr 2014 erreichten Datenbanken einen neuen Weltrekord, indem große Datensätze mit Spark sortiert wurden. Spark unterstützt verschiedene Programmiersprachen wie R, Python, Java und Scala und ist 100 -mal schneller als MapReduce bei der Verarbeitung der Daten, da dies im Speicher erfolgt. Es enthält weniger Codezeilen und verwendet zur Authentifizierung einen gemeinsam genutzten Code. Es kann auch mit Garn arbeiten und die Fähigkeiten von Kerberos ausnutzen. Es basiert auf Hadoop MapReduce und erweitert das MapReduce -Konzept, um die neuen Arten von Berechnungen effektiv einzusetzen.

Der Hauptvorteil von Spark gegenüber Hadoop besteht darin, eine In-Memory-Verarbeitungsarchitektur zu nutzen. Um den verteilten Replikationsspeicher zu verwenden, kann Spark über HDFs operieren. Spark kann im selben Hadoop -Cluster wie MapReduce oder als eigenständiges Verarbeitungsrahmen verwendet werden. Garn kann auch Funkenanwendungen ausführen. Anstatt einen lokalen Speicherraum für die Berechnung zu verwenden, verwendet Spark ein In-Memory-Computing, so. Spark soll nicht Hadoop ersetzen; Es könnte als Kompliment angesehen werden.

MapReduce und Spark werden zusammen mit Tandem verwendet: MapReduce Griffe Batch-Verarbeitung, während Spark-Verarbeitung in Echtzeit verarbeitet. Der Spark-Code kann für die Stapelverarbeitung, die Verbindungsströme gegen historische Daten und die Abfragen von Ad-hoc-Abfragen im Stream-Zustand wiederverwendet werden. Spark enthält Streaming -Daten -Tools, interaktive/deklarative Suchvorgänge, maschinelles Lernen sowie MAP und Reduzierung.

Was ist die Funken -Koalesce -Methode??

Die Koalesce -Methode wird verwendet, um die Anzahl der Partitionen des Datensatzes zu senken. Koalesce vermeidet volles Shuffle, indem die Daten mit dem Hash -Partitioner (Standard) verdreht und sich an die vorhandenen Partitionen anpasst, anstatt neue zu generieren. Dies bedeutet, dass es nur die Anzahl der Partitionen verringern kann. In Spark SQL, die verschmelzen Regelmäßige Methode ist eine nicht-aggregate Methode. Um die Menge der bewegten Daten zu verringern, verwendet Coalesce bestehende Abteilungen. Wenn alle Spalten null sind, gibt das Koalesce den ersten Nicht-Null-Wert zurück. Koalesce ist schneller als die Abteilung, da sie das gesamte Mischling vermeidet, während die Abholung ein vollständiges Mischen macht, was zeitaufwändig und teuer ist. Für die Koaleszenz ist mindestens eine Spalte erforderlich, und alle Säulen müssen von den gleichen oder kompatiblen Arten aussehen.

Beispiel für die Verwendung der Koalesce -Methode

Verwenden Sie den folgenden Befehl, um die Funkenwahmungsfunktion zu testen:

testdf = sqlcontext.erstellteataframe ([(1,1), (2,2), (keine, 3), (4, keine)], ["ID", "Wert"])
+----+------+
| ID | Wert |
+----+------+
| 1 | 1 |
| 2 | 2 |
| null | 3 |
| 4 | NULL |
+----+------+

Importieren Sie die erforderlichen PYSPARK -Funktionen mit dem folgenden Befehl:

aus pysspark.sql.Typen importieren fleischtyp

aus pysspark.sql.Funktionen importieren *

Wenden Sie den folgenden Befehl an, um eine neue Spalte mit Nicht-Null-Werten zu erstellen:

tmp = testdf.withColumn ('col', coalesce (testdf ['id'], testdf ['value'])))
TMP.zeigen()
+----+------+---------+
| ID | Wert | col |
+----+------+---------+
| 1 | 1 | 1 |
| 2 | 2 | 2 |
| null | 3 | 3 |
| 4 | NULL | 4 |
+----+------+---------+

Abschluss

Wir haben über die Methode Apache Spark, Spark SQL und Spark SQL besprochen. Wir haben gelernt, dass es verwendet werden kann, um die Partitionen des Datenrahmens zusammen mit einem Beispiel zu reduzieren. Wir haben auch festgestellt, dass die Koalesce -Methode nur zur Verringerung der Anzahl der Partitionen verwendet werden kann.