Pyspark -par RDD - Handlinger

Pyspark -par RDD - Handlinger
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).

RDD -handlinger:

En handling i RDD er en operasjon som brukes på en RDD for å returnere en enkelt verdi. Med andre ord, vi kan si at en handling vil være resultatet av de oppgitte dataene ved å utføre noen operasjoner på den gitte RDD.

Par RDD bare en handling. countbykey () er handlingen som brukes i par RDD.

CountbyKey ()

Som vi vet at par RDD har nøkkelverdi-parelementer. CountbyKey brukes til å returnere hver tast som er tilgjengelig med total forekomst som verdi fra RDD.

Dette kan gjøres ved hjelp av elementene () -metoden som er en ordbokmetode i Python.

elementer () brukes til å trekke ut nøkkelverdiparene fra en ordbok. Ordbøker lagrer varer i et nøkkelverdipar. Så par RDD er nær ordboken.

Så denne countbykey () handlingen bruker elementene () -metoden.

Syntaks:

Par_rdd.CountbyKey ().varer ()

Hvor par_rdd er paret RDD.

Den returnerer antall verdier per nøkkel i formatet - dict_items ([(nøkkel, verdi),…])

Vi kan bruke en for sløyfe for å sløyfe gjennom nøklene og verdiene for å returnere separat.

Eksempel:

I dette eksemplet opprettet vi et par RDD som heter Personer_Rating med 6 nøkkelverdipar og anvendt CountByKey () handling på det. Til slutt viser vi faktisk handling og bruker en for loop.

#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) ])
#Apply countByKey () handling på ovennevnte emne_reringspar RDD
Dictionary_RDD = emner_rering.CountbyKey ().varer ()
#vise
print ("countbyKey () handling på rdd-subjects_rating:", dictionary_rdd)
#Få tastene og verdien fra ovennevnte ordbok RDD
For nøkler, verdier i Dictionary_rdd:
Print (Keys, "->", Verdier)

Produksjon:

countbyKey () handling på RDD-Subjects_rating: Dict_items ([('Python', 2), ('JavaScript', 2), ('Linux', 1), ('C#', 1)]))
Python -> 2
JavaScript -> 2
Linux -> 1
C# -> 1

I paret RDD,

  1. Key-Python skjedde 2 ganger, så verdien for den returneres 2
  2. Key-JavaScript skjedde 2 ganger, så verdien for det returneres 2
  3. Key-Linux og Key-C# oppstod 1 gang, så verdien for den returneres 1

countbykey () handling med nøkler ()

Hvis du bare trenger å returnere nøkler, bruker CountByKey () handling Keys () -metoden.

Syntaks:

Par_rdd.CountbyKey ().nøkler ()

Hvor par_rdd er paret RDD.

Den returnerer antallet verdier per nøkkel i formatet - dict_items ([nøkkel,…])

Vi kan bruke en for loop for å sløyfe gjennom nøklene for å komme tilbake separat.

Eksempel:

I dette eksemplet opprettet vi et par RDD som heter Personer_Rating med 6 nøkkelverdipar og Applied CountByKey () Handling på det for å få bare nøkler. Til slutt viser vi faktisk handling og bruker en for loop.

#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) ])
#Apply countByKey () Handling på de ovennevnte emne_reringsparet RDD for å få nøkler
Dictionary_RDD = emner_rering.CountbyKey ().nøkler ()
#vise
print ("countbyKey () handling på rdd-subjects_rating:", dictionary_rdd)
#Få nøklene fra ovennevnte ordbok RDD
For nøkler i Dictionary_rdd:
Print (Keys)

Produksjon:

countbyKey () handling på RDD-Subjects_rating: Dict_Keys (['Python', 'JavaScript', 'Linux', 'C#'])
Python
JavaScript
Linux
C#

Vi kan se at bare nøkkelen returneres.

countByKey () handling med verdier ()

Hvis du bare trenger å returnere totale verdier per nøkkel, bruker countByKey () handling verdien () metoden.

Syntaks:

Par_rdd.CountbyKey ().verdier ()

Hvor, par_rdd er paret RDD.

Den returnerer antall verdier per nøkkel i formatet - dict_items ([verdi,…])

Vi kan bruke en for loop for å sløyfe gjennom verdiene for å komme tilbake separat.

Eksempel:

I dette eksemplet opprettet vi et par RDD som heter Personer_Rating med 6 nøkkelverdipar og anvendt CountByKey () handling med verdier () på det for å få bare verdier. Til slutt viser vi faktisk handling og bruker en for loop.

#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) ])
#Apply countByKey () Handling på de ovennevnte emne_reringsparet RDD for å få verdier
Dictionary_RDD = emner_rering.CountbyKey ().verdier ()
#vise
print ("countbyKey () handling på rdd-subjects_rating:", dictionary_rdd)
#få verdiene fra ovennevnte ordbok RDD
For verdier i Dictionary_rdd:
trykk (verdier)

Produksjon:

countbyKey () Handling på RDD-Subjects_rating: Dict_Values ​​([2, 2, 1, 1])
2
2
1
1

Vi kan se at bare de totale verdiene returneres.

Konklusjon

I denne Pyspark RDD -opplæringen så vi hvordan vi skulle utføre handling på par RDD ved hjelp av CountbyKey () handling. Den brukte elementene () -metoden for å returnere nøkler tilgjengelig med total forekomst (verdi). Hvis du bare trenger en nøkkel, kan du bruke Keys () -metoden med CountByKey (), og hvis du bare trenger verdiskall, med CountByKey () kan du bruke verdier ().