Pyspark - map_keys y map_values

Pyspark - map_keys y map_values
En Python, Pyspark es un módulo de chispa utilizado para proporcionar un tipo de procesamiento similar como Spark.

Veremos cómo crear un map () y cómo obtener todas las teclas y valores usando map_keys () y map_values ​​().

MAP () se puede crear usando la función sql () utilizando la consulta Seleccionar.

Sintaxis:

Spark_app.SQL ("Seleccionar mapa (clave, valor, ...) como map_name")

Aquí,

  1. Spark_app está fuera de la aplicación de conexión de chispa
  2. MAP () toma el pedido de pares de valor clave separado por una coma.
  3. map_name es un alias para el mapa creado.

Primero, crearemos un mapa que tenga 6 pares de valor clave y los mostraremos usando el método Collect ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
# Importar RDD de Pyspark.RDD
de Pyspark.RDD import rdd
#import map_keys () del Pyspark.sql.módulo de funciones
de Pyspark.sql.Funciones Importar map_keys
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear 6 - pares de asignatura y calificación en el mapa
my_data = spark_app.SQL ("Seleccionar mapa (1, 'Python', 2, 'Java', 3, 'JavaScript', 4, 'Python', 5, 'Linux', 6, 'Linux') como SUJETS_RATING")
#Dispraad el mapa
mis datos.SELECT ('SUJETS_RATING').recolectar()

Producción:

[Fila (temas_rating = 1: 'python', 2: 'java', 3: 'javascript', 4: 'python', 5: 'linux', 6: 'linux')]]

Aquí, las teclas son - 1,2,3,4,5,6 y los valores son - 'Python', 'Java', 'JavaScript', 'Python', 'Linux', 'Linux'.

Nota - Las teclas no se pueden duplicar, pero los valores se pueden duplicar.

Pyspark - map_keys ()

map_keys () devolverá todas las teclas de un mapa en una fila. Se necesita map_name como parámetro.

Sintaxis:

map_keys ('map_name')

Parámetro:

map_name es el nombre del mapa

Ejemplo:

En este ejemplo, devolveremos las teclas del mapa para el mapa anterior creado.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
# Importar RDD de Pyspark.RDD
de Pyspark.RDD import rdd
#import map_keys () del Pyspark.sql.módulo de funciones
de Pyspark.sql.Funciones Importar map_keys
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear 6 - pares de asignatura y calificación en el mapa
my_data = spark_app.SQL ("Seleccionar mapa (1, 'Python', 2, 'Java', 3, 'JavaScript', 4, 'Python', 5, 'Linux', 6, 'Linux') como SUJETS_RATING")
#get las teclas de mapa de map-subjects_rating
mis datos.SELECT (map_keys ('temas_rating')).recolectar()

Producción:

[Fila (map_keys (temas_rating) = [1, 2, 3, 4, 5, 6])]]

Podemos ver que solo se devuelven map_keys.

Pyspark - map_values ​​()

map_values ​​() devolverá todos los valores de un mapa en una fila. Se necesita map_name como parámetro.

Sintaxis:

map_values ​​('map_name')

Parámetro:

map_name es el nombre del mapa

Ejemplo:

En este ejemplo, devolveremos los valores del mapa para el mapa anterior creado.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
# Importar RDD de Pyspark.RDD
de Pyspark.RDD import rdd
#import map_keys () del Pyspark.sql.módulo de funciones
de Pyspark.sql.Funciones Importar map_keys
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear 6 - pares de asignatura y calificación en el mapa
my_data = spark_app.SQL ("Seleccionar mapa (1, 'Python', 2, 'Java', 3, 'JavaScript', 4, 'Python', 5, 'Linux', 6, 'Linux') como SUJETS_RATING")
#get los valores de mapa del mapa-subjects_rating
mis datos.SELECT (MAP_VALUES ('SUTESS_RATING')).recolectar()

Producción:

[Fila (map_values ​​(temas_rating) = ['python', 'java', 'javaScript', 'python', 'linux', 'linux'])]]

Podemos ver que solo se devuelven map_values.

Conclusión

En este Pyspark discutimos cómo crear map () y cómo acceder a las teclas y valores del mapa usando funciones map_keys () y map_values ​​(). En un mapa, puede haber los mismos valores para todas las teclas, pero la clave debe ser única.