Pyspark arra_min und array_max

Pyspark arra_min und array_max
In Python ist PySpark ein Spark -Modul, mit dem eine ähnliche Art von Verarbeitung wie Spark mit DataFrame bereitgestellt wird.

Es liefert die Methoden "StructType () und structfield (), mit denen die Spalten im PYSPARK -Datenrahmen definiert werden.

Durch die Verwendung dieser Methoden können wir die Spaltennamen und die Datentypen der Spalten definieren.

Strukturtyp ()

Diese Methode wird verwendet. Es akzeptiert eine Liste von Datentypen zusammen mit Spaltennamen für den angegebenen Datenrahmen. Dies ist als Schema des Datenrahmens bekannt. Es speichert eine Sammlung von Feldern.

Structfield ()

Diese Methode wird innerhalb der Strukturtyp () -Methode des PYSPARK -Datenframe. Es akzeptiert Spaltennamen mit dem Datentyp.

ArrayType ()

Diese Methode wird verwendet, um die Array -Struktur des PYSPark -Datenframe zu definieren. Es akzeptiert eine Liste von Datentypen. Es speichert eine Sammlung von Feldern. Wir können Datentypen in ArrayType () platzieren.

In diesem Artikel müssen wir einen Datenrahmen mit einem Array erstellen.

Erstellen wir einen Datenrahmen mit 2 Spalten. Die erste Spalte ist student_category, die sich auf das Integer -Feld bezieht, um Studenten -IDs zu speichern. Die zweite Spalte - student_full_name wird verwendet, um Stringwerte in einem Array zu speichern, das mit ArrayType () erstellt wurde, ().

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#und Strukturtypen und andere Datentypen importieren
aus pysspark.sql.Typen importttypen, structfield, StringType, IntegerType, FAUTTYPE, ArrayType
aus pysspark.sql.Funktionen importieren array_contains
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Betrachten Sie ein Array mit 5 Elementen
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['B', 'P'])]
#Definieren Sie den Struktur- und Strukturen
#Für die obigen Daten
Schema = structTtype ([structfield ("student_category", IntegerType ()), structfield ("student_full_name", ArrayType (StringType ())]]))
#Erstellen Sie den Datenrahmen und fügen Sie dem DataFrame Schema hinzu
df = spark_app.erstellteataframe (my_array_data, schema = schema)
df.zeigen()

Ausgang:

array_min ()

Jetzt werden wir sehen, was Array_Min () tut.

array_min () gibt die minimalen Werte in jeder Zeile der Spalte Array -Typ zurück.

Dies ist mit der Methode Select () möglich möglich. In dieser Methode können wir die Funktion array_min () verwenden und das Ergebnis zurückgeben.

Syntax:

Datenrahmen.select (array_min (array_column)))

Parameter:

Array_Column enthält Array -Typwerte

Zurückkehren:

Es gibt Mindestwerte in einem Array über alle Zeilen in einer Array -Spalte zurück.

Beispiel:

In diesem Beispiel geben wir die Mindestwerte in einer Array -Spalte zurück - student_full_name

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#und Strukturtypen und andere Datentypen importieren
aus pysspark.sql.Typen importttypen, structfield, StringType, IntegerType, FAUTTYPE, ArrayType
aus pysspark.sql.Funktionen importieren *
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Betrachten Sie ein Array mit 5 Elementen
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['B', 'P'])]
#Definieren Sie den Struktur- und Strukturen
#Für die obigen Daten
schema = structTtype ([structfield ("student_category", IntegerType ()), structfield ("student_full_name", ArrayType (StringType ())]]))
#Erstellen Sie den Datenrahmen und fügen Sie dem DataFrame Schema hinzu
df = spark_app.erstellteataframe (my_array_data, schema = schema)
# Erhalten Sie die Mindestwerte aus der Spalte student_full_name
df.select ("student_full_name", array_min ('student_full_name'))).zeigen()

Ausgang:

Wir können sehen, dass in der ersten Zeile - Array enthält: a, also wird a das Minimum (verglichen auf ASCII -Werten).

In der zweiten Reihe - Array hat B, L, B. - B ist minimal

In der dritten Reihe - Array hat k, a, k. - A ist minimal

In der vierten Reihe - Array hat k-. K ist minimal

In der fünften Reihe - Array hat B, p. - B ist minimal

Array_max ()

Jetzt werden wir sehen, was array_max () tun.

Array_MAX () gibt die maximalen Werte in jeder Zeile der Spalte Array -Typ zurück.

Dies ist mit der Methode Select () möglich möglich. In dieser Methode können wir die Funktion array_max () verwenden und das Ergebnis zurückgeben.

Syntax:

Datenrahmen.select (array_max (array_column)))

Parameter:

Array_Column enthält Array -Typwerte

Zurückkehren:

Es gibt maximale Werte in einem Array über alle Zeilen in einer Array -Spalte zurück.

Beispiel:

In diesem Beispiel geben wir die maximalen Werte in einer Array -Spalte zurück - student_full_name

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#und Strukturtypen und andere Datentypen importieren
aus pysspark.sql.Typen importttypen, structfield, StringType, IntegerType, FAUTTYPE, ArrayType
aus pysspark.sql.Funktionen importieren *
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Betrachten Sie ein Array mit 5 Elementen
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['B', 'P'])]
#Definieren Sie den Struktur- und Strukturen
#Für die obigen Daten
schema = structTtype ([structfield ("student_category", IntegerType ()), structfield ("student_full_name", ArrayType (StringType ())]]))
#Erstellen Sie den Datenrahmen und fügen Sie dem DataFrame Schema hinzu
df = spark_app.erstellteataframe (my_array_data, schema = schema)
# Erhalten Sie die maximalen Werte aus der Spalte student_full_name
df.select ("student_full_name", array_max ('student_full_name'))).zeigen()

Ausgang:

Wir können sehen, dass in der ersten Zeile - Array: a, also a maximal sein wird (im Vergleich zu ASCII -Werten verglichen).

In der zweiten Reihe - Array hat B, L, B. - L ist maximal

In der dritten Reihe - Array hat k, a, k. - K ist maximal

In der vierten Reihe - Array hat k-. K ist maximal

In der fünften Reihe - Array hat B, p. - P ist maximal.

Abschluss

In diesem Tutorial haben wir Array_Min () und Array_Max () Funktionen gesehen. Array_Min verwendet bei der Rückgabe von Mindestwerten in einer Array -Spalte über alle Zeilen. Array_MAX wird verwendet, um maximale Werte in einer Array -Spalte über alle Zeilen zurückzugeben.