Pyspark arra_min e array_max

Pyspark arra_min e array_max
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame.

Fornisce i metodi structType () e Structfield () che vengono utilizzati per definire le colonne nel frame dati Pyspark.

Usando questi metodi, possiamo definire i nomi delle colonne e i tipi di dati delle colonne.

StructType ()

Questo metodo viene utilizzato per definire la struttura del frame dati pyspark. Accetterà un elenco di tipi di dati insieme ai nomi delle colonne per il determinato dati di dati. Questo è noto come lo schema del telaio. Memorizza una collezione di campi.

StructField ()

Questo metodo viene utilizzato all'interno del metodo structType () del Frame dati Pyspark. Accetterà i nomi delle colonne con il tipo di dati.

ArrayType ()

Questo metodo viene utilizzato per definire la struttura dell'array del frame dati pyspark. Accetterà un elenco di tipi di dati. Memorizza una collezione di campi. Possiamo posizionare i dati dei dati all'interno di ArrayType ().

In questo articolo, dobbiamo creare un frame dati con un array.

Creiamo un frame dati con 2 colonne. La prima colonna è Student_Category che si riferisce al campo intero per archiviare gli ID studenteschi. La seconda colonna - Student_full_name viene utilizzata per archiviare i valori di stringa in un array creato usando ArrayType ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#e importanti tipi di strutture e altri tipi di dati
da pyspark.SQL.Tipi Import StrucTType, Strucfield, StringType, IntegerType, Floattype, ArrayType
da pyspark.SQL.Funzioni Import Array_Contains
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# considera un array con 5 elementi
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, [k ',' a ',' k ']), ( 4, ['k']), (3, ['b', 'p']]
#Define The StructType e Structfields
#per i dati di cui sopra
schema = structType ([structField ("Student_Category", IntegerType ()), StructField ("Student_full_name", ArrayType (StringType ()))))
#Crea dati e aggiungi lo schema al frame dati
df = spark_app.creatotaframe (my_array_data, schema = schema)
df.spettacolo()

Produzione:

array_min ()

Ora vedremo cosa fa Array_min ().

array_min () restituisce i valori minimi in ogni riga della colonna del tipo di array.

Questo è possibile utilizzando il metodo Select (). All'interno di questo metodo, possiamo usare la funzione array_min () e restituire il risultato.

Sintassi:

DataFrame.Select (array_min (array_column))

Parametri:

array_column contiene valori di tipo array

Ritorno:

Restituirà valori minimi in un array su tutte le righe in una colonna di array.

Esempio:

In questo esempio, restituiremo i valori minimi in una colonna di array - Student_full_name

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#e importanti tipi di strutture e altri tipi di dati
da pyspark.SQL.Tipi Import StrucTType, Strucfield, StringType, IntegerType, Floattype, ArrayType
da pyspark.SQL.funzioni importanti *
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# considera un array con 5 elementi
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, [k ',' a ',' k ']), ( 4, ['k']), (3, ['b', 'p']]
#Define The StructType e Structfields
#per i dati di cui sopra
schema = structType ([structField ("Student_Category", IntegerType ()), StructField ("Student_full_name", ArrayType (StringType ()))))
#Crea dati e aggiungi lo schema al frame dati
df = spark_app.creatotaframe (my_array_data, schema = schema)
# Ottieni i valori minimi dalla colonna Student_Full_name
df.Select ("Student_full_name", Array_min ('Student_Full_Name')).spettacolo()

Produzione:

Possiamo vedere che nella prima riga, - Array contiene: A, quindi A sarà il minimo (confrontato in base ai valori ASCII).

Nella seconda riga - L'array ha b, l, b. - B è minimo

In terza fila - Array ha k, a, k. - A è minimo

In quarta riga - Array ha k-. K è minimo

In quinta riga - L'array ha b, p. - B è minimo

array_max ()

Ora vedremo cosa fare Array_max ().

array_max () restituisce i valori massimi in ogni riga della colonna del tipo di array.

Questo è possibile utilizzando il metodo Select (). All'interno di questo metodo, possiamo usare la funzione Array_max () e restituire il risultato.

Sintassi:

DataFrame.Select (array_max (array_column))

Parametri:

array_column contiene valori di tipo array

Ritorno:

Restituirà i valori massimi in un array su tutte le righe in una colonna di array.

Esempio:

In questo esempio, restituiremo i valori massimi in una colonna di array - Student_full_name

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#e importanti tipi di strutture e altri tipi di dati
da pyspark.SQL.Tipi Import StrucTType, Strucfield, StringType, IntegerType, Floattype, ArrayType
da pyspark.SQL.funzioni importanti *
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# considera un array con 5 elementi
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, [k ',' a ',' k ']), ( 4, ['k']), (3, ['b', 'p']]
#Define The StructType e Structfields
#per i dati di cui sopra
schema = structType ([structField ("Student_Category", IntegerType ()), StructField ("Student_full_name", ArrayType (StringType ()))))
#Crea dati e aggiungi lo schema al frame dati
df = spark_app.creatotaframe (my_array_data, schema = schema)
# Ottieni i valori massimi dalla colonna Student_Full_name
df.Select ("Student_Full_Name", Array_Max ('Student_Full_Name')).spettacolo()

Produzione:

Possiamo vedere che nella prima riga - Array contiene: A, quindi A sarà il massimo (confrontato in base ai valori ASCII).

Nella seconda riga - L'array ha b, l, b. - L è massimo

In terza fila - Array ha k, a, k. - K è massimo

In quarta riga - Array ha k-. K è massimo

Nella quinta riga - L'array ha b, p. - P è massimo.

Conclusione

In questo tutorial, abbiamo visto le funzioni di array_min () e array_max (). array_min utilizzato per restituire i valori minimi in una colonna del tipo di array su tutte le righe. Array_max viene utilizzato per restituire i valori massimi in una colonna tipo array su tutte le righe.