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í,
- Spark_app está fuera de la aplicación de conexión de chispa
- MAP () toma el pedido de pares de valor clave separado por una coma.
- 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.