Pyspark - map_keys und map_values

Pyspark - map_keys und map_values
In Python ist PySpark ein Spark -Modul, das eine ähnliche Art von Verarbeitung wie Spark bietet.

Wir werden sehen, wie man eine MAP () und wie man alle Schlüssel und Werte mit map_keys () und map_values ​​() erstellt und Werte bekommt).

MAP () kann mithilfe der SQL () -Funktion mithilfe der Auswahlabfrage erstellt werden.

Syntax:

Spark_App.SQL ("MAP (Schlüssel, Wert, ...) als MAP_NAME"))

Hier,

  1. Spark_App ist Out Out Spark Connecting App
  2. MAP () nimmt die von einem Kommas getrennte Reihenfolge der Schlüsselwertpaare auf.
  3. MAP_NAME ist ein Alias ​​für die erstellte Karte.

Zunächst erstellen wir eine Karte mit 6 Schlüsselwertpaaren und zeigen sie mit Collect () -Methode an.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
# RDD aus PYSPARK importieren.RDD
aus pysspark.RDD Import RDD
#import map_keys () aus dem pyspark.sql.Funktionsmodul
aus pysspark.sql.Funktionen importieren map_keys
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie 6 - Betreff- und Bewertungspaare in der Karte
my_data = spark_app.SQL ("MAP (1, 'Python', 2, 'Java', 3, 'JavaScript', 4, 'Python', 5, 'Linux', 6, 'Linux') als Subjekts_rating")
#Display die Karte
meine Daten.select ('subjekts_rating').sammeln()

Ausgang:

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

Hier sind die Schlüssel - 1,2,3,4,5,6 und Werte sind - 'Python', 'Java', 'JavaScript', 'Python', 'Linux', 'Linux'.

Notiz - Die Schlüssel können nicht dupliziert werden, aber die Werte können dupliziert werden.

PYSPARK - MAP_KEYS ()

map_keys () gibt alle Schlüssel aus einer Karte in einer Zeile zurück. Es nimmt MAP_NAME als Parameter.

Syntax:

map_keys ('map_name')

Parameter:

map_name ist der Name der Karte

Beispiel:

In diesem Beispiel geben wir die Kartenschlüssel für die oben erstellte Karte zurück.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
# RDD aus PYSPARK importieren.RDD
aus pysspark.RDD Import RDD
#import map_keys () aus dem pyspark.sql.Funktionsmodul
aus pysspark.sql.Funktionen importieren map_keys
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie 6 - Betreff- und Bewertungspaare in der Karte
my_data = spark_app.SQL ("MAP (1, 'Python', 2, 'Java', 3, 'JavaScript', 4, 'Python', 5, 'Linux', 6, 'Linux') als Subjekts_rating")
#Greifen Sie die Kartenschlüssel der MAP-Subjects_rating
meine Daten.select (map_keys ('subjekts_rating')).sammeln()

Ausgang:

[Row (MAP_KEYS (Subjekts_rating) = [1, 2, 3, 4, 5, 6])]]]

Wir können sehen, dass nur MAP_KEYS zurückgegeben wurden.

Pyspark - map_values ​​()

map_values ​​() gibt alle Werte aus einer Karte in einer Zeile zurück. Es nimmt MAP_NAME als Parameter.

Syntax:

map_values ​​('map_name')

Parameter:

map_name ist der Name der Karte

Beispiel:

In diesem Beispiel geben wir die Kartenwerte für die oben erstellte Karte zurück.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
# RDD aus PYSPARK importieren.RDD
aus pysspark.RDD Import RDD
#import map_keys () aus dem pyspark.sql.Funktionsmodul
aus pysspark.sql.Funktionen importieren map_keys
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie 6 - Betreff- und Bewertungspaare in der Karte
my_data = spark_app.SQL ("MAP (1, 'Python', 2, 'Java', 3, 'JavaScript', 4, 'Python', 5, 'Linux', 6, 'Linux') als Subjekts_rating")
#Get die Kartenwerte der MAP-Subjects_rating
meine Daten.select (map_values ​​('subjekts_rating')).sammeln()

Ausgang:

[Row (map_values ​​(Subjekts_rate) = ['Python', 'Java', 'JavaScript', 'Python', 'Linux', 'Linux']]]

Wir können sehen, dass nur MAP_VALUES zurückgegeben wurden.

Abschluss

In diesem pyspark haben wir besprochen, wie Sie MAP () und wie Sie mit Map_Keys () und MAP_VALUES () -Funktionen auf Kartenschlüssel und Werte zugreifen können. In einer Karte kann es für alle Schlüssel die gleichen Werte geben, aber der Schlüssel muss Single sein.