Pyspark - map_keys et map_values

Pyspark - map_keys et map_values
Dans Python, Pyspark est un module Spark utilisé pour fournir un type de traitement similaire comme Spark.

Nous verrons comment créer un map () et comment obtenir toutes les clés et valeurs à l'aide de map_keys () et map_values ​​().

Map () peut être créé à l'aide de la fonction SQL () à l'aide de la requête SELECT.

Syntaxe:

Spark_App.SQL ("SELECT MAP (clé, valeur,…) comme map_name")

Ici,

  1. Spark_App est sorti de l'application de connexion Spark
  2. map () prend la paire de valeurs clés de l'ordre séparé par une virgule.
  3. map_name est un alias pour la carte créée.

Tout d'abord, nous créerons une carte qui a 6 paires de valeurs clés et les afficher en utilisant la méthode Collect ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer RDD de Pyspark.RDD
de Pyspark.RDD IMPORT RDD
#import map_keys () du pyspark.SQL.module de fonctions
de Pyspark.SQL.Fonctions Import Map_keys
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer 6 - Paires de sujets et de notation dans la carte
my_data = spark_app.SQL ("SELECT MAP (1, 'Python', 2, 'Java', 3, 'Javascript', 4, 'Python', 5, 'Linux', 6, 'Linux') en tant que sujets_rating")
#Display la carte
mes données.SELECT ('sujets_rating').collecter()

Sortir:

[Row (sujets_rating = 1: 'python', 2: 'java', 3: 'javascript', 4: 'python', 5: 'Linux', 6: 'Linux')]

Ici, les clés sont - 1,2,3,4,5,6 et les valeurs sont - «Python», «Java», «JavaScript», «Python», «Linux», «Linux».

Note - Les clés ne peuvent pas être dupliquées, mais les valeurs peuvent être dupliquées.

Pyspark - map_keys ()

map_keys () renverra toutes les clés d'une carte d'affilée. Il faut map_name comme paramètre.

Syntaxe:

map_keys ('map_name')

Paramètre:

map_name est le nom de la carte

Exemple:

Dans cet exemple, nous retournerons les clés de carte pour la carte ci-dessus créée.

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer RDD de Pyspark.RDD
de Pyspark.RDD IMPORT RDD
#import map_keys () du pyspark.SQL.module de fonctions
de Pyspark.SQL.Fonctions Import Map_keys
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer 6 - Paires de sujets et de notation dans la carte
my_data = spark_app.SQL ("SELECT MAP (1, 'Python', 2, 'Java', 3, 'Javascript', 4, 'Python', 5, 'Linux', 6, 'Linux') en tant que sujets_rating")
#get les touches de carte de la carte-subjects_rating
mes données.select (map_keys ('sujets_rating'))).collecter()

Sortir:

[Row (map_keys (sujets_rating) = [1, 2, 3, 4, 5, 6])]]

On peut voir que seuls les map_keys ont été retournés.

Pyspark - map_values ​​()

map_values ​​() renvoie toutes les valeurs d'une carte d'affilée. Il faut map_name comme paramètre.

Syntaxe:

map_values ​​('map_name')

Paramètre:

map_name est le nom de la carte

Exemple:

Dans cet exemple, nous retournerons les valeurs de carte pour la carte ci-dessus créée.

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer RDD de Pyspark.RDD
de Pyspark.RDD IMPORT RDD
#import map_keys () du pyspark.SQL.module de fonctions
de Pyspark.SQL.Fonctions Import Map_keys
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer 6 - Paires de sujets et de notation dans la carte
my_data = spark_app.SQL ("SELECT MAP (1, 'Python', 2, 'Java', 3, 'Javascript', 4, 'Python', 5, 'Linux', 6, 'Linux') en tant que sujets_rating")
#get les valeurs de carte de la carte-subjects_rating
mes données.select (map_values ​​('sujets_rating'))).collecter()

Sortir:

[Row (map_values ​​(sujets_rating) = ['python', 'java', 'javascript', 'python', 'linux', 'linux'])]]

On peut voir que seuls map_values ​​ont été retournés.

Conclusion

Dans ce Pyspark, nous avons discuté de la création de MAP () et comment accéder aux touches et aux valeurs MAP à l'aide de Map_Keys () et Map_Values ​​(). Dans une carte, il peut y avoir les mêmes valeurs pour toutes les clés, mais la clé doit être unique.