Pyspark RDD - Oppslag, CollectasMap

Pyspark RDD - Oppslag, CollectasMap
I Python er Pyspark en gnistmodul som brukes til å gi en lignende type prosessering som Spark.

RDD står for spenstige distribuerte datasett. Vi kan kalle RDD som en grunnleggende datastruktur i Apache Spark. Par RDD lagrer elementene/verdiene i form av nøkkelverdipar. Det vil lagre nøkkelverdiparet i formatet (nøkkel, verdi).

Vi må importere RDD fra Pyspark.RDD -modul.

I Pyspark for å lage en RDD, kan vi bruke parallelliseringsmetoden ().

Syntaks:

Spark_app.SparkContext.parallellisere (data)

Hvor data kan være en enimensjonal (lineære data) eller todimensjonale data (rad-kolonne data).

Pyspark RDD - Lookup ()

oppslag () er en handling i par RDD, som brukes til å returnere alle verdiene som er assosiert med en nøkkel i en liste. Det utføres på enkeltpar RDD. Det tar en nøkkel som en parameter.

Syntaks:

RDD_DATA.oppslag (nøkkel)

Parameter:

Nøkkel refererer til nøkkelen som er til stede i paret RDD.

Eksempel:

I dette eksemplet vil vi se opp for nøklene- Python, JavaScript og Linux.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
# Importer RDD fra Pyspark.RDD
Fra Pyspark.RDD Import RDD
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Opprett 6 - Fag- og rangeringspar
emner_rating = spark_app.SparkContext.Parallellize ([('Python', 4), ('JavaScript', 2), ('Linux', 5), ('C#', 4),
('JavaScript', 4), ('Python', 3)])
#Actual Pair RDD
trykk ("par rdd:", emner_rering.samle inn())
#get oppslag for nøkkel-python
trykk ("Lookup for the Python:", emner_rating.oppslag ('python'))
#Get oppslag for Key-JavaScript
trykk ("Oppslag for JavaScript:", Emner_rating.oppslag ('JavaScript'))
#get oppslag for nøkkel-linux
trykk ("Lookup for the Linux:", emner_rating.oppslag ('Linux'))

Produksjon:

Par RDD: [('Python', 4), ('JavaScript', 2), ('Linux', 5), ('C#', 4), ('JavaScript', 4), ('Python', 3 )]
Oppslag til Python: [4, 3]
Oppslag til JavaScript: [2, 4]
Oppslag til Linux: [5]

Fra output ovenfor kan vi se at det er to verdier som finnes med nøkkelpyton, så den returnerte 4 og 3. Det er 2 verdier som finnes med Key-JavaScript, så det returnerte 2 og 4. Det er bare 1 verdi som eksisterer med nøkkel-linux, så den returnerte 1.

Pyspark RDD - CollectAsMap ()

CollectAsMap () er en handling i par RDD som brukes til å returnere alle verdiene i form av et kart (nøkkel: verdi) par. Det brukes til å gi oppslag. Det tar ingen parameter.

Syntaks:

RDD_DATA.CollectAsMap ()

Eksempel:

I dette eksemplet vil vi få verdier fra RDD ved hjelp av CollectAsMap ().

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
# Importer RDD fra Pyspark.RDD
Fra Pyspark.RDD Import RDD
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Opprett 6 - Fag- og rangeringspar
emner_rating = spark_app.SparkContext.Parallelliser ([('Linux', 5), ('C#', 4),
('JavaScript', 4), ('Python', 53)])
#Apply CollectAsMap () for å returnere RDD
skriv ut (emner_rering.CollectasMap ())

Produksjon:

'Linux': 5, 'C#': 4, 'JavaScript': 4, 'Python': 53

Vi kan se at RDD returneres i form av nøkkel: verdipar.

Merk at hvis det er flere nøkler med forskjellige verdier, vil CollectAsMap () samle ved å returnere den oppdaterte verdien med hensyn til nøkkelen.

Eksempel:

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
# Importer RDD fra Pyspark.RDD
Fra Pyspark.RDD Import RDD
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Opprett 6 - Fag- og rangeringspar
emner_rating = spark_app.SparkContext.Parallelliser ([('Linux', 5), ('C#', 4), ('JavaScript', 4),
('Python', 53), ('Linux', 45), ('C#', 44),])
#Apply CollectAsMap () for å returnere RDD
skriv ut (emner_rering.CollectasMap ())

Produksjon:

'Linux': 45, 'C#': 44, 'JavaScript': 4, 'Python': 53

Vi kan se at Linux og C# tastene oppsto to ganger. Andre gang er verdiene 45 og 44. Derfor kommer CollectAsMap () tilbake med de nye verdiene.

Konklusjon

I denne Pyspark RDD -opplæringen så vi hvordan vi kan bruke oppslag () og CollectAsMap () handlinger på par RDD. oppslag () brukes til å returnere verdiene knyttet til nøkkelen i en liste ved å ta nøkkelen som en parameter og CollectAsMap () returnerer RDD i form av MAP.