Pyspark si unisce a coppia rdd

Pyspark si unisce a coppia rdd
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).

In questo tutorial, vedremo diversi join eseguiti su Pyspark Pair RDD. Tutti i lavori si uniscono in base alle chiavi nella coppia RDD.

Pyspark coppia rdd - join ()

join () viene utilizzato per eseguire il join interno su coppia rdd.

Iniziano interni i risultati in RDD selezionando solo le righe corrispondenti da due RDD.

Sintassi:

coppia_rdd1.join (pail_rdd2)

Dove:

  1. coppia_rdd1 è il primo RDD
  2. coppia_rdd2 ​​è il secondo RDD.

Esempio:

In questo esempio, useremo join () per eseguire il join interno su due RDD.

#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 4 coppie di valutazioni in materia
soggetti_rating1 = spark_app.SparkContext.parallelize ([('linux', 1), ('c#', 2), ('javascript', 4), ('python', 5)])
# Crea 2 coppie di valutazioni in materia
soggetti_rating2 = spark_app.SparkContext.parallelize ([('Linux', 4), ('java', 2)])
#Perform Intenner Join
Stampa (Subjects_Rating1.join (soggetti_rating2).raccogliere())

Produzione:

[('Linux', (1, 4))]

Qui, soggetti_rating1 è il primo RDD che ha le seguenti coppie: ('Linux', 1), ('c#', 2), ('javascript', 4), ('python', 5) e soggetti_rating2 è il primo RDD che ha le seguenti coppie: ('Linux', 4), ('Java', 2).

Quindi, il tasto - Linux esiste in entrambi i RDD. Quindi, i valori vengono restituiti rispetto alla chiave.

PysPark Pair RDD - LeftuterJoin ()

LeftOuterJoin () viene utilizzato per eseguire un join a sinistra su coppia RDD.

Il join a sinistra risulta in RDD selezionando tutte le righe dal primo RDD e abbinata solo le righe dal secondo RDD rispetto alle righe nel primo RDD.

Sintassi:

coppia_rdd1.LeftOuterJoin (coppia_rdd2)

Dove:

  1. coppia_rdd1 è il primo RDD
  2. coppia_rdd2 ​​è il secondo RDD.

Esempio:

In questo esempio, useremo a sintesi () per eseguire un join a sinistra su due RDD.

#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 4 coppie di valutazioni in materia
soggetti_rating1 = spark_app.SparkContext.parallelize ([('linux', 1), ('c#', 2), ('javascript', 4), ('python', 5)])
# Crea 2 coppie di valutazioni in materia
soggetti_rating2 = spark_app.SparkContext.parallelize ([('Linux', 4), ('java', 2)])
#Perform Sin sinistra esterno
Stampa (Subjects_Rating1.LeftOuterJoin (soggetti_rating2).raccogliere())

Produzione:

[('Python', (5, None)), ('Linux', (1, 4)), ('C#', (2, None)), ('JavaScript', (4, Nessuno))]

Qui, soggetti_rating1 è il primo RDD che ha le seguenti coppie: ('Linux', 1), ('c#', 2), ('javascript', 4), ('python', 5) e soggetti_rating2 è il primo RDD che ha le seguenti coppie: ('Linux', 4), ('Java', 2).

Non ci sono chiavi Python, C# e JavaScript nel secondo RDD, quindi i valori sono nessuno nel secondo valori RDD. Ma Key-Linux esiste sia in RDD. Pertanto, i valori 1,4 sono stati restituiti.

PysPark Pair RDD - GiustoIoIrJoin ()

GirouterJoin () viene utilizzato per eseguire giunzione giusta su coppia RDD.

Il join a destra risulta in RDD selezionando tutte le righe dal secondo RDD e abbinate solo le righe dal primo RDD rispetto alle righe nel secondo RDD.

Sintassi:

coppia_rdd1.GiroeterJoin (coppia_rdd2)

Dove:

  1. coppia_rdd1 è il primo RDD
  2. coppia_rdd2 ​​è il secondo RDD.

Esempio:

In questo esempio, utilizzeremo il deskouterJoin () per eseguire un join giusto su due RDD.

#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 4 coppie di valutazioni in materia
soggetti_rating1 = spark_app.SparkContext.parallelize ([('linux', 1), ('c#', 2), ('javascript', 4), ('python', 5)])
# Crea 2 coppie di valutazioni in materia
soggetti_rating2 = spark_app.SparkContext.parallelize ([('Linux', 4), ('java', 2)])
#Perform Right Outer Join
Stampa (Subjects_Rating1.GiroeterJoin (soggetti_rating2).raccogliere())

Produzione:

[('Java', (nessuno, 2)), ('Linux', (1, 4))]

Qui, soggetti_rating1 è il primo RDD che ha le seguenti coppie: ('Linux', 1), ('c#', 2), ('javascript', 4), ('python', 5) e soggetti_rating2 è il primo RDD che ha le seguenti coppie: ('Linux', 4), ('Java', 2).

Non esiste un tasto Java nel primo RDD, quindi il valore non è nei primi valori RDD. Ma Key-Linux esiste sia in RDD. Pertanto, i valori 1,4 sono stati restituiti.

PysPark Pair RDD - fullouterJoin ()

fullouterJoin () viene utilizzato per eseguire un join esterno su coppia RDD.

Il join esterno completo risulta in RDD selezionando tutte le righe da entrambe le RDD. Non pone i valori per le righe senza pari in entrambe le righe attraverso le righe.

Sintassi:

coppia_rdd1.fullouterJoin (coppia_rdd2)

Dove:

  1. coppia_rdd1 è il primo RDD
  2. coppia_rdd2 ​​è il secondo RDD.

Esempio:

In questo esempio, useremo fullouterJoin () per eseguire un join esterno su due RDD.

#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 4 coppie di valutazioni in materia
soggetti_rating1 = spark_app.SparkContext.parallelize ([('linux', 1), ('c#', 2), ('javascript', 4), ('python', 5)])
# Crea 2 coppie di valutazioni in materia
soggetti_rating2 = spark_app.SparkContext.parallelize ([('Linux', 4), ('java', 2)])
#Perform esterno join
Stampa (Subjects_Rating1.fullouterJoin (soggetti_rating2).raccogliere())

Produzione:

[('Python', (5, nessuno)), ('Java', (Nessuno, 2)), ('Linux', (1, 4)), ('C#', (2, None)), ( 'javascript', (4, nessuno))]

Conclusione

Con questo tutorial, siamo venuti a sapere che Pyspark RDD supporta 4 tipi di join. Per eseguire un join interno, semplicemente possiamo usare join (), leftouterJoin () viene utilizzato per eseguire il join a sinistra e il deskouterjoin () viene utilizzato per eseguire il join destro. Per eseguire un join esterno, viene utilizzato fullouterJoin ().