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:
- DataFrame è il Frame dati Pyspark input
- 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:
- DataFrame è il Frame dati Pyspark input
- 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.