Pyspark - collect_list e collect_set

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

Discuteremo le funzioni di collection_list () e collect_set () in PysPark DataFrame.

Prima di passare a queste funzioni, creeremo PysPark DataFrame

Esempio:

Qui creeremo Pyspark DataFrame con 5 righe e 6 colonne.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students1 = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 2.79, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 9, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedAtaFrame (Students1)
# Visualizza dati dati
df.spettacolo()

Produzione:

Pyspark - collect_list ()

Il metodo Collect_List () viene utilizzato per ottenere i dati dalle colonne PysPark DataFrame e restituire i valori in formato di riga. Restituirà tutti i valori insieme a duplicati. Ma dobbiamo importare questo metodo da Pyspark.SQL.modulo funzioni.

Possiamo utilizzare questo metodo per visualizzare i dati raccolti sotto forma di una riga.

Sintassi:

DataFrame.Seleziona ("Collect_List (" colonna "))

Dove:

  1. DataFrame è il Frame dati Pyspark input
  2. La colonna è il nome della colonna in cui viene applicato collect_list ()

Esempio 1:

In questo esempio, stiamo raccogliendo i dati dalla colonna dell'indirizzo e visualizziamo i valori con il metodo collection ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#import function collect_list
da pyspark.SQL.funzioni Importa collect_list
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students1 = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedAtaFrame (Students1)
# collect_list su indirizzo
df.Seleziona (collect_list ("indirizzo")).raccogliere()

Produzione:

[Riga (collect_list (indirizzo) = ['guntur', 'hyd', 'patna', 'hyd', 'hyd'])]

Esempio 2:

In questo esempio, stiamo raccogliendo dati da colonne di altezza e peso e visualizziamo i valori con il metodo collection ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#import function collect_list
da pyspark.SQL.funzioni Importa collect_list
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students1 = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedAtaFrame (Students1)
# Collect_list su colonne di altezza e peso
df.Select (collect_list ("altezza"), collect_list ("peso")).raccogliere()

Produzione:

[Riga (collect_list (altezza) = [5.79, 3.79, 2.79, 3.69, 5.59], collect_list (peso) = [67, 34, 17, 28, 54])]

Pyspark - collect_set ()

Il metodo collect_set () viene utilizzato per ottenere i dati dalle colonne PysPark DataFrame e restituire i valori in formato di riga. Restituirà tutti i valori senza duplicati.

Possiamo utilizzare questo metodo per visualizzare i dati raccolti sotto forma di una riga. Ma dobbiamo importare questo metodo da Pyspark.SQL.modulo funzioni.

Sintassi:

DataFrame.Seleziona ("Collect_Set (" Colonna "))

Dove:

  1. DataFrame è il Frame dati Pyspark input
  2. La colonna è il nome della colonna in cui viene applicato collect_list ()

Esempio 1:

In questo esempio, stiamo raccogliendo i dati dalla colonna dell'indirizzo e visualizziamo i valori con il metodo collection ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#import function collect_set
da pyspark.SQL.funzioni Importa collect_set
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students1 = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedAtaFrame (Students1)
# collect_set su indirizzo
df.Seleziona (collect_set ("indirizzo")).raccogliere()

Produzione:

[Riga (collect_set (indirizzo) = ['hyd', 'guntur', 'patna'])]

Esempio 2:

In questo esempio, stiamo raccogliendo dati da colonne di altezza e peso e visualizziamo i valori con il metodo collection ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#import function collect_set
da pyspark.SQL.funzioni Importa collect_set
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students1 = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedAtaFrame (Students1)
# Collect_set su colonne di altezza e peso
df.Select (collect_set ("altezza"), collect_list ("peso")).raccogliere()

Produzione:

[Riga (collect_set (altezza) = [5.59, 3.69, 2.79, 5.79, 3.79], collect_list (peso) = [67, 34, 17, 28, 54])]

Conclusione

Abbiamo visto che i metodi collect_list () e collect_set () vengono utilizzati per ottenere i dati da una colonna in PysPark DataFrame. Da questi metodi, abbiamo osservato che collect_set () non consentirà duplicati ma collect_list () consentirà valori duplicati.