Pyspark - map_keys og map_values

Pyspark - map_keys og map_values
I Python er Pyspark en gnistmodul som brukes til å gi en lignende type prosessering som Spark.

Vi vil se hvordan du oppretter et kart () og hvordan du får alle nøklene og verdiene ved hjelp av MAP_KEYS () og MAP_VALUES ().

kart () kan opprettes ved hjelp av SQL () -funksjon ved hjelp av SELECT -spørringen.

Syntaks:

Spark_app.SQL ("Velg kart (tast, verdi, ...) som map_name")

Her,

  1. Spark_app er ute Spark Connecting -appen
  2. kart () tar nøkkelverdiparordre atskilt med komma.
  3. map_name er et alias for det opprettede kartet.

Først lager vi et kart som har 6 nøkkelverdipar og viser dem ved hjelp av Collect () -metoden.

#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
#import map_keys () fra pyspark.SQL.Funksjonsmodul
Fra Pyspark.SQL.Funksjoner importerer map_keys
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Opprett 6 - Emne- og vurderingspar i kart
my_data = spark_app.SQL ("Velg kart (1, 'Python', 2, 'Java', 3, 'JavaScript', 4, 'Python', 5, 'Linux', 6, 'Linux') som emner_rating")
#Display kartet
my_data.velg ('emner_rering').samle inn()

Produksjon:

[Rad (emner_rating = 1: 'Python', 2: 'Java', 3: 'JavaScript', 4: 'Python', 5: 'Linux', 6: 'Linux')]

Her er nøklene - 1,2,3,4,5,6 og verdiene er - 'Python', 'Java', 'JavaScript', 'Python', 'Linux', 'Linux'.

Merk - Tastene kan ikke dupliseres, men verdiene kan dupliseres.

Pyspark - map_keys ()

map_keys () vil returnere alle nøklene fra et kart på rad. Det tar Map_name som en parameter.

Syntaks:

map_keys ('map_name')

Parameter:

map_name er navnet på kartet

Eksempel:

I dette eksemplet vil vi returnere karttastene for det ovennevnte kartet som er opprettet.

#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
#import map_keys () fra pyspark.SQL.Funksjonsmodul
Fra Pyspark.SQL.Funksjoner importerer map_keys
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Opprett 6 - Emne- og vurderingspar i kart
my_data = spark_app.SQL ("Velg kart (1, 'Python', 2, 'Java', 3, 'JavaScript', 4, 'Python', 5, 'Linux', 6, 'Linux') som emner_rating")
#Få karttastene til kart-subjects_rating
my_data.velg (map_keys ('emnes_rating')).samle inn()

Produksjon:

[ROW (MAP_KEYS (ENTAGS_RATING) = [1, 2, 3, 4, 5, 6])]

Vi kan se at bare Map_Keys ble returnert.

Pyspark - map_values ​​()

map_values ​​() vil returnere alle verdiene fra et kart på rad. Det tar Map_name som en parameter.

Syntaks:

map_values ​​('map_name')

Parameter:

map_name er navnet på kartet

Eksempel:

I dette eksemplet vil vi returnere kartverdiene for det ovennevnte kartet som er opprettet.

#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
#import map_keys () fra pyspark.SQL.Funksjonsmodul
Fra Pyspark.SQL.Funksjoner importerer map_keys
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Opprett 6 - Emne- og vurderingspar i kart
my_data = spark_app.SQL ("Velg kart (1, 'Python', 2, 'Java', 3, 'JavaScript', 4, 'Python', 5, 'Linux', 6, 'Linux') som emner_rating")
#Få kartverdiene til kart-subjects_rating
my_data.velg (map_values ​​('emnes_rating')).samle inn()

Produksjon:

[ROW (MAP_VALUES (EmNS_RATING) = ['Python', 'Java', 'JavaScript', 'Python', 'Linux', 'Linux'])]

Vi kan se at bare MAP_Values ​​ble returnert.

Konklusjon

I denne pyspark diskuterte vi hvordan du lager kart () og hvordan du får tilgang til karttaster og verdier ved hjelp av map_keys () og map_values ​​() -funksjoner. På et kart kan det være de samme verdiene for alle nøkler, men nøkkelen må være singel.