PYSPARK - MIN -Funktion

PYSPARK - MIN -Funktion
Nach der Verteilung der Zeilen im PYSPARK -Datenrahmen ist es möglich, die minimalen und maximalen Werte in jeder Partition zurückzugeben. Durch die Verwendung einiger aggregierter Funktionen in einem Partitionsfenster ist es möglich, das Minimum/Maximum zurückzugeben.

Zunächst sehen wir, wie Sie den Datenrahmen in PYSPARK aufteilt.

Trennwand

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:

  1. Erstellen Sie einen PYSPARK -Datenrahmen, der in mindestens einer Spalte einige ähnliche Werte aufweist.
  2. Partitionieren Sie die Daten mithilfe von partitionby () -Methoden verfügbare Inwindow -Funktion.

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.

pysspark importieren
aus pysspark.SQL Import SparkSession
aus pysspark.sql.Funktionen importieren *
Spark_app = SparkSession.Erbauer.App Name('_').Getorcreate ()
Schüler = [(4, 'Sravan', 23, 'Php', 'Testing'),
(4, 'Sravan', 23, 'php', 'testing'),
(46, 'Mounika', 22, ','.Net ',' html '),
(4, "Deepika", 21, "Oracle", "Html"),
(46, 'Mounika', 22, 'Oracle', 'Testing'),
(12, 'Chandrika', 22, 'Hadoop', 'C#'),
(12, "Chandrika", 22, "Oracle", "Testing"),
(4, 'sravan', 23, oracle ',' c#'),
(4, 'Deepika', 21, 'Php', 'C#'),
(46, 'Mounika', 22, ','.Net ',' testing ')
]
DataFrame_OBJ = Spark_App.Createdataframe (Studenten, ['Subjekt_ID', 'Name', 'Alter', 'Technology1', 'Technology2'])
print ("---------- tatsächliche Datenfreque ----------")
DataFrame_OBJ.zeigen()

Ausgang:

Pyspark min () Fensterfunktion

Die min () in der Fensterfunktion wird verwendet, um den Mindestwert in jeder Partition zurückzugeben. Nach der Verteilung des Datenrahmens kann es möglich sein, einen Mindestwert zurückzugeben.

Syntax:

DataFrame_OBJ.WithColumn ("Minimum", min (col ("Spalte")).über (Partition))

Parameter:

min (col ("Spalte"))

Hier nimmt die Funktion min () den Spaltennamen als Parameter. Es gibt das Minimum der Werte in dieser Spalte in jeder Partition zurück.

Wir fügen das Ergebnis eine Spalte mit dem Namen Minimum mit der Funktion WithColumn () hinzu.

Beispiel 1:

Jetzt haben wir einen Datenrahmen (zuvor erstellt). Lassen Sie es uns auf der Spalte Technology1 aufteilt und den Mindestwert aus der Spalte Subjekt_ID in jeder Partition erhalten.

# Importieren Sie die Fensterfunktion
aus pysspark.sql.Fensterimportfenster
#importieren Sie die Min und Col von PYSPARK.sql.Funktionen
aus pysspark.sql.Funktionen importieren min, col
#Partition Der Datenrahmen basierend auf den Werten in der Spalte Technology1
Partition = Fenster.partitionby ("Technology1")
print ("---------- partitionierte Datenframe ----------")
#REITEN SIE DEN MINIMALENWERT IN SOPPORE_ID -Spalte für jede Partition
DataFrame_OBJ.WithColumn ("Minimum", min (col ("subjekt_id")).über (Partition)).zeigen()

Ausgang:

Erläuterung:

Die Gesamtzahl der Partitionen beträgt 4.

Partition 1:

Der .Das Netz trat zweimal in der ersten Partition auf. Der Mindestwert in der Spalte Subjekt_ID beträgt 46.

Partition 2:

Hadoop ereignete sich einmal in der zweiten Partition. Der Mindestwert beträgt also 12.

Partition 3:

Oracle trat viermal in der Dritten Partition auf.

Der Mindestwert in der Spalte Subjekt_ID beträgt 4.

Partition 4:

PHP trat dreimal in der vierten Partition auf.

Der Mindestwert in der Spalte Subjekt_ID beträgt 4.

Beispiel 2:

Jetzt haben wir einen Datenrahmen (zuvor erstellt). Lassen Sie es uns auf der Basis der Technologie1 -Spalte aufteilt und den Mindestwert aus der Altersspalte in jeder Partition erhalten.

# Importieren Sie die Fensterfunktion
aus pysspark.sql.Fensterimportfenster
#importieren Sie die Min und Col von PYSPARK.sql.Funktionen
aus pysspark.sql.Funktionen importieren min, col
#Partition Der Datenrahmen basierend auf den Werten in der Spalte Technology1
Partition = Fenster.partitionby ("Technology1")
print ("---------- partitionierte Datenframe ----------")
#REITEN SIE DEN MINIMALENWERT IN AGE -Spalte für jede Partition
DataFrame_OBJ.WithColumn ("Minimum", min (col ("Alter")).über (Partition)).zeigen()

Ausgang:

Erläuterung:

Die Gesamtzahl der Partitionen beträgt 4.

Partition 1:

Der .Das Netz trat zweimal in der ersten Partition auf. Der Mindestwert in der Altersspalte beträgt 22.

Partition 2:

Hadoop ereignete sich einmal in der zweiten Partition. Der Mindestwert beträgt 22.

Partition 3:

Oracle trat viermal in der Dritten Partition auf.

Der Mindestwert in der Altersspalte beträgt 21.

Partition 4:

PHP trat dreimal in der vierten Partition auf.

Der Mindestwert in der Altersspalte beträgt 21.

PYSPARK MAX () Fensterfunktion

Der max () in der Fensterfunktion wird verwendet, um den Maximalwert in jeder Partition zurückzugeben. Nach der Verteilung des Datenrahmens kann es möglich sein, einen Höchstwert zurückzugeben.

Syntax:

DataFrame_OBJ.WithColumn ("Maximum", Max (col ("Spalte")).über (Partition))

Parameter:

Max (col ("Spalte"))

Hier nimmt die Funktion max () den Spaltennamen als Parameter. Es gibt das Maximum der Werte in dieser Spalte in jeder Partition zurück.

Wir fügen das Ergebnis eine Spalte mit dem Namen Maximum mit der Funktion WithColumn () hinzu.

Beispiel 1:

Jetzt haben wir einen Datenrahmen (zuvor erstellt). Lassen Sie es uns auf der Basis der Technologie1 -Spalte aufteilt und den Maximalwert aus der Spalte Subjekt_ ID in jeder Partition erhalten.

# Importieren Sie die Fensterfunktion
aus pysspark.sql.Fensterimportfenster
#importieren Sie den Max und Col von PYSPARK.sql.Funktionen
aus pysspark.sql.Funktionen importieren max, col
#Partition Der Datenrahmen basierend auf den Werten in der Spalte Technology1
Partition = Fenster.partitionby ("Technology1")
print ("---------- partitionierte Datenframe ----------")
#REITEN SIE DEN MAXIMAL -Wert in der Spalte Subjekt_ID für jede Partition
DataFrame_OBJ.WithColumn ("Maximum", max (col ("subjekt_id")).über (Partition)).zeigen()

Ausgang:

Erläuterung:

Die Gesamtzahl der Partitionen beträgt 4.

Partition 1:

Der .Das Netz trat zweimal in der ersten Partition auf. Der Maximalwert in der Spalte Subjekt_ID beträgt 46.

Partition 2:

Hadoop ereignete sich einmal in der zweiten Partition. Der Höchstwert beträgt also 12.

Partition 3:

Oracle trat viermal in der Dritten Partition auf.

Der Maximalwert in der Spalte Subjekt_ID beträgt 46.

Partition 4:

PHP trat dreimal in der vierten Partition auf.

Der Maximalwert in der Spalte Subjekt_ID beträgt 4.

Beispiel 2:

Jetzt haben wir einen Datenrahmen (zuvor erstellt). Lassen Sie es uns auf der Basis der Technologie1 -Spalte aufteilt und den Maximalwert aus der Altersspalte in jeder Partition erhalten.

# Importieren Sie die Fensterfunktion
aus pysspark.sql.Fensterimportfenster
#importieren Sie den Max und Col von PYSPARK.sql.Funktionen
aus pysspark.sql.Funktionen importieren max, col
#Partition Der Datenrahmen basierend auf den Werten in der Spalte Technology1
Partition = Fenster.partitionby ("Technology1")
print ("---------- partitionierte Datenframe ----------")
#REITEN SIE DEN MÄDCHENWERT IN AGE -Spalte für jede Partition
DataFrame_OBJ.WithColumn ("Maximum", Max (col ("Alter")).über (Partition)).zeigen()

Ausgang:

Erläuterung:

Die Gesamtzahl der Partitionen beträgt 4.

Partition 1:

Der .Das Netz trat zweimal in der ersten Partition auf. Der Maximalwert in der Altersspalte beträgt 22.

Partition 2:

Hadoop ereignete sich einmal in der zweiten Partition. Der Höchstwert beträgt also 22.

Partition 3:

Oracle trat viermal in der Dritten Partition auf.

Der Maximalwert in der Altersspalte beträgt 23.

Partition 4:

PHP trat dreimal in der vierten Partition auf.

Der Maximalwert in der Altersspalte beträgt 23.

Abschluss

In diesem PYSPARK -Partitionierungs -Tutorial haben wir gelernt, wie die Mindestwerte in jedem partitionierten Fenster mit der Funktion min () und die maximalen Werte in jedem partitionierten Fenster mit der Funktion max () zurückgegeben werden können. Wir haben das Ergebnis dem vorhandenen DataFrame als neue Spalte hinzugefügt. Stellen Sie sicher, dass Sie die Min und Max aus dem Pysspark importieren müssen.sql.Funktionsmodul.