Pyspark rdd - sottrarre, distinto

Pyspark rdd - sottrarre, distinto
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame.

RDD sta per set di dati distribuiti resilienti. Possiamo chiamare RDD come struttura di dati fondamentali in Apache Spark. Memorizzerà i dati sotto forma di righe e colonne come un frame di dati.

Dobbiamo importare RDD dal pyspark.Modulo RDD.

In pyspark, per creare dati o un frame dati, dobbiamo utilizzare il metodo parallelize ().

Sintassi:

Spark_app.SparkContext.parallelizza (dati)

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

In questo tutorial, vedremo sulle operazioni Pyspark RDD sottract () e distinte ().

Pyspark rdd - sottract ()

sottrarre() In RDD è simile all'operazione di differenza impostata che restituirà il nuovo RDD che include gli elementi presenti nel primo RDD ma non presenti nel secondo RDD.

Quindi, abbiamo bisogno di due RDD per eseguire questa operazione.

Sintassi:

Rdd_data1.sottract (rdd_data2)

Dove:

  1. Rdd_data1 è il primo RDD
  2. RDD_DATA2 è il secondo RDD.

Esempio 1:

In questo esempio, creeremo due RDD con dati numerici - soggetti_1 e soggetti_2 ed eseguire sottract () 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 5 - segni di soggetto
soggetti_1 = spark_app.SparkContext.parallelize ([100,34,56,54,45])
#Display Subjets_1 RDD
print ("soggetti_1 rdd:", soggetti_1.raccogliere())
# Crea 5 - segni di soggetto
soggetti_2 = spark_app.SparkContext.parallelize ([90,89,34,56,45])
#Display Subjets_2 RDD
print ("soggetti_2 rdd:", soggetti_2.raccogliere())
#perform sottract () operazione su due RDD
Operazione di stampa ("sottract () su soggetti_1 con soggetti_2:", soggetti_1.sottrai (soggetti_2).raccogliere())
#perform sottract () operazione su due RDD
Operazione di stampa ("sottract () su soggetti_2 con soggetti_1:", soggetti_2.sottrai (soggetti_1).raccogliere())

Produzione:

Soggeti_1 RDD: [100, 34, 56, 54, 45]
Soggeti_2 RDD: [90, 89, 34, 56, 45]
Operazione sottract () su soggetti_1 con soggetti_2: [100, 54]
Operazione sottract () su soggetti_2 con soggetti_1: [89, 90]

Dall'output, possiamo vedere che ci sono 5 elementi nei RDD.

Nella prima operazione, stiamo eseguendo sottrai su soggetti_1 con soggetti_2. Qui 100 e 54 sono presenti in soggetti_1 ma non in soggetti_2. Quindi, sono stati restituiti.

Nella seconda operazione, stiamo eseguendo la sottrazione su soggetti_2 con soggetti_1. Qui, 89 e 90 sono presenti in soggetti_2 ma non in soggetti_1. Quindi, sono stati restituiti.

Esempio 2:

In questo esempio, creeremo due RDD con dati stringa - soggetti_1 e soggetti_2 ed eseguire sottract () 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 3 - Nomi degli argomenti
soggetti_1 = spark_app.SparkContext.Parallelize (["Linux", "Bash", "JavaScript"])
#Display Subjets_1 RDD
print ("soggetti_1 rdd:", soggetti_1.raccogliere())
# Crea 2 - Nomi dei soggetti
soggetti_2 = spark_app.SparkContext.parallelize (["linux", "java"])
#Display Subjets_2 RDD
print ("soggetti_2 rdd:", soggetti_2.raccogliere())
#perform sottract () operazione su due RDD
Operazione di stampa ("sottract () su soggetti_1 con soggetti_2:", soggetti_1.sottrai (soggetti_2).raccogliere())
#perform sottract () operazione su due RDD
Operazione di stampa ("sottract () su soggetti_2 con soggetti_1:", soggetti_2.sottrai (soggetti_1).raccogliere())

Produzione:

soggetti_1 rdd: ['linux', 'bash', 'javascript']
soggetti_2 rdd: ['linux', 'java']
Operazione sottract () su soggetti_1 con soggetti_2: ['bash', 'javascript']
Operazione sottract () su soggetti_2 con soggetti_1: ['java']

Dall'output, possiamo vedere che ci sono 5 elementi nei RDD.

Nella prima operazione, stiamo eseguendo la sottrazione su soggetti_1 con soggetti_2. Qui, "bash" e "javascript" sono presenti in soggetti_1 ma non in soggetti_2. Quindi, sono stati restituiti.

Nella seconda operazione, stiamo eseguendo sottrai su soggetti_2 con soggetti_1. Qui "java" è presente in soggetti_2 ma non in soggetti_1. Quindi, viene restituito.

Pyspark rdd - distinto ()

distinto () In RDD viene utilizzato per restituire solo valori univoci da RDD. Viene applicato su un solo RDD

Quindi, abbiamo bisogno di un RDD per eseguire questa operazione. Non ci vogliono parametri.

Sintassi:

Rdd_data.distinto ()

Dove, rdd_data1 è il primo RDD.

Esempio 1:

In questo esempio, creeremo un RDD soggetti_1 con 10 valori numerici e restituiremo valori univoci applicando operazioni distinte ().

#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 10 - segni di soggetto
soggetti_1 = spark_app.SparkContext.parallelize ([34,56,54,45,45,56,54,3,3])
#Display Subjets_1 RDD
print ("soggetti_1 rdd:", soggetti_1.raccogliere())
#Perform Distinct () Operazione sopra RDD.
Print ("Distinct () Operazione su Subjects_1:", Subjects_1.distinto ().raccogliere())

Produzione:

Soggeti_1 RDD: [34, 56, 54, 45, 45, 56, 54, 4, 3, 3]
Operazione distinta () su soggetti_1: [34, 56, 54, 4, 45, 3]

Abbiamo creato un RDD con 10 valori interi che includono duplicati. Dopo aver applicato distinto () per restituire solo valori univoci.

Esempio 2:

In questo esempio, creeremo un RDD soggetti_1 con 5 valori di stringa e restituiremo valori univoci applicando operazioni distinte ().

#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 5 - Soggetti
soggetti_1 = spark_app.SparkContext.parallelize (['java', 'java', 'python', 'javascript', 'javascript'])
#Display Subjets_1 RDD
print ("soggetti_1 rdd:", soggetti_1.raccogliere())
#Perform Distinct () Operazione sopra RDD.
Print ("Distinct () Operazione su Subjects_1:", Subjects_1.distinto ().raccogliere())

Produzione:

soggetti_1 rdd: ['java', 'java', 'python', 'javascript', 'javascript'
Operazione distinta () su soggetti_1: ['java', 'python', 'javascript']

Abbiamo creato un RDD con 5 valori di stringa che includono duplicati. Dopo di che abbiamo applicato distinto () per restituire solo valori univoci. I valori univoci restituiti sono: Java, Python e JavaScript.

Conclusione

In questo tutorial Pyspark RDD, abbiamo discusso dei metodi sottract () e distinti ().sottract () come applicato su due RDD. È usato per restituire gli elementi presenti nel primo RDD ma non presenti nel secondo. Rdd.distinto () viene applicato su un singolo RDD che viene utilizzato per restituire elementi unici da RDD.