Pyspark - map_keys e map_values

Pyspark - map_keys e map_values
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark.

Vedremo come creare una mappa () e come ottenere tutte le chiavi e i valori usando map_keys () e map_values ​​().

mappa () può essere creato utilizzando la funzione sql () utilizzando seleziona query.

Sintassi:

Spark_app.sql ("Seleziona mappa (tasto, valore, ...) come map_name")

Qui,

  1. Spark_app è fuori app di collegamento Spark
  2. mappa () prende il valore dell'ordine della coppia di valore separato da una virgola.
  3. map_name è un alias per la mappa creata.

Innanzitutto, creeremo una mappa con 6 coppie di valore chiave e le visualizzeremo usando il metodo collection ().

#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
#import map_keys () dal pyspark.SQL.modulo funzioni
da pyspark.SQL.funzioni Importa map_keys
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea 6 - coppie di soggetti e valutazioni in mappa
my_data = spark_app.SQL ("Seleziona mappa (1," Python ", 2," Java ", 3," JavaScript ", 4," Python ", 5," Linux ", 6," Linux "come soggetti_rating")
#display la mappa
i miei dati.Select ('soggetti_rating').raccogliere()

Produzione:

[Riga (soggetti_rating = 1: 'python', 2: 'java', 3: 'javascript', 4: 'python', 5: 'linux', 6: 'linux')

Qui, le chiavi sono - 1,2,3,4,5,6 e i valori sono - "Python", "Java", "JavaScript", "Python", "Linux", "Linux".

Nota - Le chiavi non possono essere duplicate, ma i valori possono essere duplicati.

Pyspark - map_keys ()

map_keys () restituirà tutte le chiavi da una mappa di riga. Ci vuole map_name come parametro.

Sintassi:

map_keys ('map_name')

Parametro:

map_name è il nome della mappa

Esempio:

In questo esempio, restituiremo i tasti della mappa per la mappa sopra creata.

#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
#import map_keys () dal pyspark.SQL.modulo funzioni
da pyspark.SQL.funzioni Importa map_keys
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea 6 - coppie di soggetti e valutazioni in mappa
my_data = spark_app.SQL ("Seleziona mappa (1," Python ", 2," Java ", 3," JavaScript ", 4," Python ", 5," Linux ", 6," Linux "come soggetti_rating")
#get le chiavi della mappa della mappa-soggetti_rating
i miei dati.Seleziona (map_keys ('soggetti_rating')).raccogliere()

Produzione:

[Riga (map_keys (soggetti_rating) = [1, 2, 3, 4, 5, 6])]

Possiamo vedere che sono stati restituiti solo MAP_KEYS.

Pyspark - map_values ​​()

map_values ​​() restituirà tutti i valori da una mappa in una riga. Ci vuole map_name come parametro.

Sintassi:

map_values ​​('map_name')

Parametro:

map_name è il nome della mappa

Esempio:

In questo esempio, restituiremo i valori della mappa per la mappa sopra creata.

#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
#import map_keys () dal pyspark.SQL.modulo funzioni
da pyspark.SQL.funzioni Importa map_keys
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea 6 - coppie di soggetti e valutazioni in mappa
my_data = spark_app.SQL ("Seleziona mappa (1," Python ", 2," Java ", 3," JavaScript ", 4," Python ", 5," Linux ", 6," Linux "come soggetti_rating")
#get i valori della mappa della mappa-soggetti_rating
i miei dati.Select (map_values ​​('soggetti_rating')).raccogliere()

Produzione:

[Riga (map_values ​​(soggetti_rating) = ['python', 'java', 'javascript', 'python', 'linux', 'linux']]

Possiamo vedere che sono stati restituiti solo MAP_Values.

Conclusione

In questo pyspark abbiamo discusso di come creare map () e come accedere ai tasti e ai valori della mappa usando le funzioni Map_Keys () e Map_Values ​​(). In una mappa, ci possono essere gli stessi valori per tutte le chiavi, ma la chiave deve essere singola.