In diesem Artikel über PYSPARK werden wir die Array -Verarbeitungsfunktionen demonstrieren
array_remove (),
Größe() Und
umkehren() Arrays manipulieren.
- Array_Remove () Methode
- Größenmethode ()
- Reverse -Methode ()
Um diese Beispiele zu tun, müssen wir zunächst die vorstellen Strukturtyp (),Structfield () Und ArrayType () Methoden, mit denen die Spalten im PYSPARK -Datenrahmen definiert werden. Durch die Verwendung dieser Methoden können wir die Spaltennamen und die Datentypen der bestimmten 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_remove ()
Array_Remove () wird verwendet, um einen bestimmten Wert in einem Array über alle Zeilen in einer Array -Spalte zu entfernen. Es dauert zwei Parameter.
Syntax:
Array_remove (Array_Column, 'Wert')
Parameter:
- Array_Column ist die Array -Spalte mit Arrays mit Werten
- Der Wert ist im Array vorhanden, das aus den Array -Werten entfernt werden soll.
Die Funktion array_remove () wird mit der Methode Select () verwendet, um die Aktion auszuführen.
Beispiel:
In diesem Exemple werden wir entfernen:
- 'A' aus der Spalte student_full_name
- 'P' aus der Spalte student_full_name
- 'K' aus der Spalte 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 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)
# Zeigen Sie den Datenrahmen an, indem Sie einen Wert 'a' entfernen
df.select ("student_full_name", array_remove ('student_full_name', 'a')).zeigen()
# Zeigen Sie den Datenrahmen an, indem Sie den Wert 'P' entfernen
df.select ("student_full_name", array_remove ('student_full_name', 'p')).zeigen()
# Zeigen Sie den Datenrahmen an, indem Sie den Wert 'k' entfernen
df.select ("student_full_name", array_remove ('student_full_name', 'k')).zeigen()
Ausgang:
In der ersten Ausgabe können wir in den zweiten Spalten sehen:
A-, P- und K -Werte werden entfernt.
Größe()
Size () wird verwendet, um die Länge oder die Anzahl der in einem Array in jeder Zeile eines Datenrahmens vorhandenen Werte zurückzugeben. Es braucht einen Parameter.
Syntax:
Größe ('Array_Column')
Parameter:
Array_Column bezieht sich auf die Spalte vom Array -Typ
Beispiel:
Holen Sie sich die Wertezahl in einem Array in der Spalte 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 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)
# Erhalten Sie die Größe der Array -Werte in allen Zeilen in der Spalte student_full_name
df.select ("student_full_name", size ('student_full_name')).zeigen()
Ausgang:
Wir können sehen, dass die im Array in jeder Zeile vorhandenen Gesamtwerte zurückgegeben werden.
umkehren()
Reverse () wird verwendet, um das Array in jeder Zeile umzukehren.
Syntax:
reverse ('array_column')
Parameter:
Array_Column bezieht sich auf die Spalte vom Array -Typ
Beispiel:
Wechseln Sie das Array für alle Zeilen in der Spalte student_full_name um.
#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)
# Reverse -Array -Werte in der Spalte student_full_name
df.select ("student_full_name", reverse ('student_full_name')).zeigen()
Ausgang:
Wir können sehen, dass Array -Werte in student_full_name (2. Spalte) umgekehrt sind.
Abschluss
In diesem Artikel haben wir drei verschiedene Funktionen auf Spalten des PYSPARK -Array -Typs gesehen. Array_Remove () wird verwendet, um einen bestimmten Wert in einem Array in allen Zeilen zu entfernen. Size () wird verwendet, um die Gesamtzahl der in einem Array vorhandenen Werte zu erhalten, und Reverse () wird verwendet, um das Array umzukehren.