“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 particolari."
Discutiamoli uno per uno
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 ().
Quindi in questo articolo, dobbiamo creare un telaio di dati con un array.
Creiamo un frame dati con 2 colonne. La prima colonna è Student_Category
Ciò si riferisce al campo intero per archiviare gli ID studenti e la seconda colonna - Student_full_name
viene utilizzato per archiviare i valori di stringa in un array creato utilizzando 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:
shuffle ()
shuffle () viene utilizzato per mescolare i valori in un array per tutte le righe nella colonna del tipo di array del frame dati pyspark. Restituirà un nuovo array con valori mescolati. Prende il nome della colonna del tipo di array come parametro. Si prega di notare che si mescola a caso.
Sintassi:
shuffle (array_column)
Parametro:
array_column è la colonna array che ha array con valori
La funzione shuffle () viene utilizzata con il metodo Select () per eseguire l'azione.
Ritorno:
Restituirà l'array con valori mescolati.
Esempio
In questo esempio, useremo la funzione shuffle () per mescolare i valori presenti nella colonna 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)
#Shuffle i valori dell'array nella colonna Student_Full_name
df.Select ("Student_full_name", shuffle ("Student_full_name")).spettacolo()
Produzione:
Puoi vedere nella seconda colonna che i valori nell'array sono stati mescolati.
sort_array ()
sort_array () viene utilizzato per ordinare gli elementi in un array. Ci vogliono due parametri; Il primo parametro è il nome della colonna del tipo di array e il secondo parametro è l'ASC che prende i valori booleani. Se è vero, l'array viene ordinato in ordine crescente. Se è falso, l'array viene ordinato in ordine decrescente. Per impostazione predefinita, ordinerà l'array in ordine crescente.
Sintassi:
sort_array (array_column, asc = true/false)
Parametri:
- array_column è la colonna array che ha array con valori
- ASC prende i valori booleani per ordinare l'array in ordine crescente o decrescente.
la funzione di sort_array () viene utilizzato con il metodo Select () per eseguire l'azione.
Ritorno:
Se restituisce un array ordinato per tutte le righe in una colonna tipo array.
Esempio 1
In questo esempio, ordineremo la colonna Student_Full_name in ordine crescente.
#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)
#sort i valori dell'array nella colonna Student_full_name in ordine crescente
df.Select ("Student_full_name", Sort_array ("Student_full_name", ASC = true)).spettacolo()
Produzione:
Quindi nella seconda colonna, puoi vedere che l'array è ordinato in ordine crescente per tutte le righe.
Esempio 2
In questo esempio, ordineremo la colonna Student_Full_name in ordine decrescente.
#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)
#sort i valori dell'array nella colonna Student_full_name in ordine decrescente
df.Select ("Student_full_name", Sort_array ("Student_full_name", ASC = FALSE)).spettacolo()
Produzione:
Quindi nella seconda colonna, puoi vedere che l'array è ordinato in ordine decrescente per tutte le righe.
Conclusione
In questo articolo di Pyspark, abbiamo visto due diverse funzioni di array. shuffle () viene utilizzato per mescolare i valori in una colonna di tipo array. Successivamente abbiamo discusso del metodo Sort_array () che viene utilizzato per ordinare gli array in una colonna di tipo array. Se si desidera ordinare l'array in ordine decrescente, è possibile utilizzare il parametro ASC set su False.