Pyspark Pair RDD - Azioni

Pyspark Pair RDD - Azioni
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark.

RDD sta per set di dati distribuiti resilienti. Possiamo chiamare RDD come struttura di dati fondamentali in Apache Spark. La coppia RDD memorizza gli elementi/valori sotto forma di coppie di valore chiave. Memorizzerà la coppia di valore chiave nel formato (chiave, valore).

Dobbiamo importare RDD dal pyspark.Modulo RDD.

In pyspark per creare un RDD, possiamo usare il metodo parallelize ().

Sintassi:

Spark_app.SparkContext.parallelizza (dati)

Dove:

I dati possono essere un dati monodimensionali (dati lineari) o bidimensionali (dati di riga-colonna).

Azioni RDD:

Un'azione in RDD è un'operazione applicata su un RDD per restituire un unico valore. In altre parole, possiamo dire che un'azione deriverà dai dati forniti eseguendo alcune operazioni su RDD fornito.

Coppia RDD supporta solo un'azione. CountBykey () è l'azione utilizzata in coppia RDD.

CountBikey ()

Come sappiamo che la coppia RDD ha elementi di coppia di valore chiave. CountBykey viene utilizzato per restituire ogni chiave disponibile con occorrenza totale come valore da RDD.

Questo può essere fatto usando il metodo elementi () che è un metodo del dizionario in Python.

Gli articoli () vengono utilizzati per estrarre le coppie di valore chiave da un dizionario. I dizionari memorizzano articoli in una coppia di valore chiave. Quindi, coppia RDD è vicino al dizionario.

Quindi, questa azione CountByKey () utilizza il metodo degli elementi ().

Sintassi:

Coppia_rdd.CountBikey ().elementi()

Dove coppie_rdd è la coppia rdd.

Restituisce il conteggio dei valori per chiave nel formato - dict_items ([(chiave, valore),…])

Possiamo usare un ciclo per loop tramite le chiavi e i valori per restituire separatamente.

Esempio:

In questo esempio, abbiamo creato una coppia RDD denominata soggetti_rating con 6 coppie di valore chiave e l'azione applicata CountBykey () su di essa. Infine, stiamo visualizzando un'azione effettiva e usando un loop per.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
# Importa RDD da Pyspark.rdd
da pyspark.RDD Import RDD
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea 6 - coppie di soggetti e valutazioni
soggetti_rating = spark_app.SparkContext.parallelize ([('python', 4), ('javascript', 2), ('linux', 5), ('c#', 4), ('javascript', 4), ('python', 3) ])
#Apply CountByKey () Azione sulla coppia di soggetti sopra indicati RDD
dizionario_rdd = soggetti_rating.CountBikey ().elementi()
#Schermo
Print ("CountBykey () Azione su RDD-SUBJECTS_RATING:", dizionario_rdd)
#get le chiavi e il valore contano dal dizionario sopra RDD
Per le chiavi, valori in dizionario_rdd:
Stampa (tasti "->", valori)

Produzione:

COUNBYKey () Azione su RDD-SUBJECTS_RATING: DICT_ITEMS ([('Python', 2), ('JavaScript', 2), ('Linux', 1), ('C#', 1)]))
Python -> 2
JavaScript -> 2
Linux -> 1
C# -> 1

Nella coppia rdd,

  1. Key-pithon si è verificato 2 volte, quindi il valore per esso viene restituito 2
  2. key-javascript si è verificato 2 volte, quindi il valore per esso viene restituito 2
  3. Key-Linux e Key-C# si sono verificati 1 volta, quindi il valore per esso viene restituito 1

COUNBYKey () Azione con keys ()

Se è necessario restituire solo le chiavi, l'azione CountBykey () utilizza il metodo Keys ().

Sintassi:

Coppia_rdd.CountBikey ().tasti ()

Dove coppie_rdd è la coppia rdd.

Restituisce il conteggio dei valori per chiave nel formato - dict_items ([chiave, ...])

Possiamo usare un ciclo per loop tramite le chiavi per tornare separatamente.

Esempio:

In questo esempio, abbiamo creato una coppia RDD denominata soggetti_rating con 6 coppie di valore chiave e l'azione applicata CountBykey () su di essa per ottenere solo tasti. Infine, stiamo visualizzando un'azione effettiva e usando un loop per.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
# Importa RDD da Pyspark.rdd
da pyspark.RDD Import RDD
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea 6 - coppie di soggetti e valutazioni
soggetti_rating = spark_app.SparkContext.parallelize ([('python', 4), ('javascript', 2), ('linux', 5), ('c#', 4), ('javascript', 4), ('python', 3) ])
#Apply CountByKey () Azione sulla coppia di soggetti sopra indicati RDD per ottenere le chiavi
dizionario_rdd = soggetti_rating.CountBikey ().tasti ()
#Schermo
Print ("CountBykey () Azione su RDD-SUBJECTS_RATING:", dizionario_rdd)
#get le chiavi dal dizionario sopra RDD
per le chiavi in ​​dizionario_rdd:
Stampa (tasti)

Produzione:

COUNBYKey () Azione su RDD-SUBJECTS_RATING: DICT_KEYS (['Python', 'JavaScript', 'Linux', 'C#'])
pitone
JavaScript
Linux
C#

Possiamo vedere che viene restituita solo la chiave.

Azione CountBikey () con valori ()

Se è necessario restituire solo i valori totali per chiave, l'azione CountBikey () utilizza il metodo valori ().

Sintassi:

Coppia_rdd.CountBikey ().valori()

Dove, coppie_rdd è la coppia rdd.

Restituisce il conteggio dei valori per chiave nel formato - dict_items ([valore, ...])

Possiamo usare un ciclo per loop attraverso i valori per restituire separatamente.

Esempio:

In questo esempio, abbiamo creato una coppia dend dendata soggetti_rating con 6 coppie di valore chiave e l'azione applicata Countbykey () con valori () su di essa per ottenere solo valori. Infine, stiamo visualizzando un'azione effettiva e usando un loop per.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
# Importa RDD da Pyspark.rdd
da pyspark.RDD Import RDD
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea 6 - coppie di soggetti e valutazioni
soggetti_rating = spark_app.SparkContext.parallelize ([('python', 4), ('javascript', 2), ('linux', 5), ('c#', 4), ('javascript', 4), ('python', 3) ])
#Apply CountByKey () Azione sulla coppia di soggetti sopra indicati RDD per ottenere valori
dizionario_rdd = soggetti_rating.CountBikey ().valori()
#Schermo
Print ("CountBykey () Azione su RDD-SUBJECTS_RATING:", dizionario_rdd)
#get i valori dal dizionario sopra RDD
per valori in dizionario_rdd:
Stampa (valori)

Produzione:

COUNBYKey () Azione su RDD-SUBJECTS_RATING: DICT_VALUES ([2, 2, 1, 1])
2
2
1
1

Possiamo vedere che vengono restituiti solo i valori totali.

Conclusione

In questo tutorial di Pyspark RDD, abbiamo visto come eseguire l'azione su coppia RDD usando l'azione CountBykey (). Ha utilizzato il metodo elementi () per restituire le chiavi disponibili con occorrenza totale (valore). Se hai bisogno solo di una chiave, è possibile utilizzare il metodo Keys () con CountByKey () e se hai bisogno di solo conteggio dei valori, con CountBykey () è possibile utilizzare valori ().