Der Vorteil der Partition besteht darin, die Datenkonsistenz und Gruppierung zu erreichen. Nachdem wir die Partition durchgeführt haben Zeilennummer() Funktion.
Es ist möglich, die Zeilen in einem Datenrahmen auf der Grundlage der Werte in einer bestimmten Spalte zu partitionieren. Alle ähnlichen Werte werden auf jede Partition festgelegt. Angenommen, es gibt 3 Arten ähnlicher Werte, dann ist jeder Typ eine Partition. Es wird also drei Partitionen geben.
Row_Number () Fensterfunktion
Der row_number in pyspark ist eine Fensterfunktion, mit der die Zahlen von 1 in jedem partitionierten Fenster abgelegt werden können.
Die Hauptsache ist, dass die row_number () nicht direkt verfügbar ist. Wir müssen es aus dem importieren PYSPARK.sql.Funktionen Modul.
Syntax zum Importmodul:
aus pysspark.sql.Funktionen importieren row_numberAndernfalls können wir dies auch mögen, um alle Methoden aus diesem Modul zu importieren.
aus pysspark.sql.Funktionen importieren *Wir müssen die folgenden Schritte ausführen, um die Partition auszuführen und die row_number auf die partitionierten Daten anzuwenden.
Schritte:
Syntax:
Partition = Fenster.partitionby ("Spalte").OrderBy ("Spalte")Wir können die partitionierten Daten mit der partitionierten Spalte oder einer anderen Spalte bestellen.
Syntax:
DataFrame_OBJ.WithColumn ("Name", row_number ().über (Partition))Hier gibt der Name den Zeilennamen an und der DataFrame_OBJ ist unser PYSPARK -Datenrahmen.
Lassen Sie uns den Code implementieren.
Beispiel 1:
Hier erstellen wir einen PYSPARK -Datenrahmen mit 5 Spalten - ['Subjekt_ID', 'Name', 'Age', 'Technology1', 'Technology2'] mit 10 Zeilen und Partition der Zeilen basierend auf dem Technologie1 Verwenden Sie die Fensterfunktion, nachdem Sie die Zeilennummern für Partitionen erhalten haben, und fügen Sie diese in die Spalte hinzu - Reihe für Technologie1.
pysspark importierenAusgang:
Erläuterung:
Die erste Ausgabe repräsentiert die tatsächlichen Daten im Datenrahmen. In der zweiten Ausgabe erfolgt die Partition basierend auf dem Technologie1 Spalte.
Die Gesamtzahl der Partitionen beträgt 4.
Partition 1:
Der .Das Netz trat zweimal in der ersten Partition auf. Die Row_numbers sind also 1 und 2.
Partition 2:
Hadoop ereignete sich einmal in der zweiten Partition. Die Row_Number ist also 1.
Partition 3:
Oracle trat fünfmal in der Dritten Partition auf. Die Row_numbers sind also 1, 2, 3, 4 und 5.
Partition 4:
PHP trat zweimal in der fünften Partition auf. Die Row_numbers sind also 1 und 2.
Beispiel 2:
Für denselben Datenrahmen partieren wir die Zeilen basierend auf Technologie2 Verwenden Sie die Fensterfunktion, nachdem Sie die Zeilennummern für Partitionen erhalten haben, und fügen Sie diese in die Spalte hinzu - Reihe für Technologie2.
pysspark importierenAusgang:
Erläuterung:
Die erste Ausgabe repräsentiert die tatsächlichen Daten im Datenrahmen. In der zweiten Ausgabe erfolgt die Partition basierend auf dem Technologie2 Spalte.
Die Gesamtzahl der Partitionen beträgt 3.
Partition 1:
C# trat dreimal in der ersten Partition auf. Die Row_numbers sind also 1, 2 und 3.
Partition 2:
HTML trat zweimal in der zweiten Partition auf. Die Row_numbers sind also 1 und 2.
Partition 3:
Tests traten fünfmal in der Dritten Partition auf. Die Row_numbers sind also 1, 2, 3, 4 und 5.
Abschluss
Wir haben besprochen, wie die Zeilen im PYSPARK -Datenrahmen unterteilt werden und die Zeilennummern in jeder Partition mit der Fensterfunktion row_number () abgerufen werden können. Der row_number in pyspark ist eine Fensterfunktion, mit der die Zahlen von 1 in jedem partitionierten Fenster abgelegt werden können. Verwenden Sie diesen Befehl, während Sie diese Funktion verwenden - aus pysspark.sql.Funktionen importieren row_number.