Pyspark Partition Ein Datenrahmen
Es ist möglich, die Zeilen im DataFrame mithilfe der Fensterfunktion zu partitionieren. Es ist in der erhältlich PYSPARK.sql.Fenster Modul. Es wird zwei Schritte geben, um die Zeilen in einem PYSPARK -Datenrahmen zu partitionieren.
Schritte
Syntax
Partition = Fenster.partitionby ("Spalte")Wir können die partitionierten Daten mit der partitionierten Spalte oder einer anderen Spalte bestellen. Lassen Sie uns den Datenrahmen erstellen.
Beispiel
Hier erstellen wir einen pyspark -Datenrahmen mit 5 Spalten: ['Subjekt_ID', 'Name', 'Age', 'Technology1', 'Technology2'] mit 10 Zeilen.
Ausgang:
PYSPARK SUM () Fensterfunktion
Die Summe () in der Fensterfunktion wird verwendet, um die Gesamtwerte der Werte in jeder Partition zurückzugeben. Daher ist es möglich, eine Summe nach der Verteilung des Datenrahmens zurückzugeben.
Syntax
DataFrame_OBJ.with column ("sum", sum (col ("spalte")).über (Partition))Parameter:
sum (col ("Spalte"))Hier das Summe() Die Funktion nimmt den Spaltennamen als Parameter. Daher gibt es die Wertsumme in dieser Spalte in jeder Partition zurück. Wir fügen das Ergebnis eine Summenspalte mit der hinzu with column () Funktion.
Beispiel 1
Jetzt haben wir einen Datenrahmen (oben erstellt). Lassen Sie es uns auf der Spalte Technology1 aufteilt und die Gesamtsumme aller Werte in der Spalte Subjekt_ID in jeder Partition erhalten.
Ausgang:
Erläuterung
Gesamtpartitionen: 4
Partition 1:
.Das Netz trat zweimal in der ersten Partition auf. Und die Summe der Subjekt -ID -Werte beträgt 46+46 = 92.
Partition 2:
Hadoop ereignete sich einmal in der zweiten Partition. Die Summe ist also 12.
Partition 3:
Oracle trat viermal in der Dritten Partition auf.
Und die Summe der Subjekt -ID -Werte beträgt 4+46+12+4 = 66.
Partition 4:
PHP trat dreimal in der vierten Partition auf.
Und die Summe der Subjekt -ID -Werte beträgt 4+4+4 = 12.
Beispiel 2
Jetzt haben wir einen Datenrahmen (oben erstellt). Lassen Sie es uns auf der Basis der Technologie1 -Spalte aufteilt und die Gesamtsumme aller Werte in der Altersspalte in jeder Partition erhalten.
Ausgang:
Erläuterung
Gesamtpartitionen: 4
Partition 1:
.Das Netz trat zweimal in der ersten Partition auf. Und die Summe der Alterswerte beträgt 22+22 = 92.
Partition 2:
Hadoop ereignete sich einmal in der zweiten Partition. Die Summe ist also 22.
Partition 3:
Oracle trat viermal in der Dritten Partition auf.
Und die Summe der Alterswerte beträgt 21+22+22+23 = 88.
Partition 4:
PHP trat dreimal in der vierten Partition auf.
Und die Summe der Alterswerte beträgt 23+23+21 = 67.
PYSPARK AVG () Fensterfunktion
Die AVG () in der Fensterfunktion wird verwendet, um den Gesamtdurchschnitt der Werte in jeder Partition zurückzugeben. Daher ist es möglich, den Durchschnitt nach der Verteilung des Datenrahmens zurückzugeben.
Syntax
DataFrame_OBJ.WithColumn ("Durchschnitt", AVG (col ("Spalte")).über (Partition))Parameter:
AVG (col ("Spalte"))Hier, avg () Nimmt den Spaltennamen als Parameter. Daher gibt es den Durchschnitt der Werte in dieser Spalte in jeder Partition zurück. Wir fügen das Ergebnis mit der durchschnittlichen Spalte hinzu with column () Funktion.
Beispiel 1
Jetzt haben wir einen Datenrahmen (oben erstellt). Lassen Sie es uns auf der Basis der Technologie1 -Spalte aufteilt und den Gesamtdurchschnitt aller Werte in der Spalte Subjekt_ID in jeder Partition erhalten.
Ausgang:
Erläuterung
Gesamtpartitionen: 4
Partition 1:
.Das Netz trat zweimal in der ersten Partition auf. Und der Durchschnitt der Werte der Subjekt_ID (46+46)/2 = 46.0.
Partition 2:
Hadoop ereignete sich einmal in der zweiten Partition. Der Durchschnitt beträgt also 12.0.
Partition 3:
Oracle trat viermal in der Dritten Partition auf.
Und der Durchschnitt der Subjekt -ID -Werte beträgt (4+46+12+4)/4 = 16.5.
Partition 4:
PHP trat dreimal in der vierten Partition auf.
Und der Durchschnitt der Werte der Subjekt_ID (4+4+4)/3 = 4.0.
Beispiel 2
Jetzt haben wir einen Datenrahmen (oben erstellt). Lassen Sie es uns auf der Basis der Technologie1 -Spalte aufteilt und den Gesamtdurchschnitt aller Werte in der Altersspalte in jeder Partition erhalten.
Ausgang:
Erläuterung
Gesamtpartitionen: 4
Partition 1:
.Das Netz trat zweimal in der ersten Partition auf. Und der Durchschnittsalterwert beträgt (22+22)/2 = 22.0.
Partition 2:
Hadoop ereignete sich einmal in der zweiten Partition. Der Durchschnitt beträgt also 22.0.
Partition 3:
Oracle trat viermal in der Dritten Partition auf.
Und das Durchschnittsalter beträgt (21+22+22+23)/4 = 22.0.
Partition 4:
PHP trat dreimal in der vierten Partition auf.
Und der Durchschnittsalterwert beträgt (23+23+21)/3 = 22.333.
Abschluss
In diesem PYSPARK -Partitionierungs -Tutorial haben wir gesehen Summe() Funktion und die Durchschnittswerte in jedem partitionierten Fenster mit der Funktion AVG (). Wir haben das Ergebnis dem vorhandenen DataFrame als neue Spalte hinzugefügt. Es ist auch möglich, den Durchschnitt ähnlich wie das zu erhalten avg () Funktion verwenden bedeuten(). Die Dinge importieren aus PYSPARK.sql.Funktionen Modul und stellen Sie einfach sicher, dass Sie Summe und Durchschnitt aus demselben Modul importieren müssen.