Pyspark - map_keys e map_values

Pyspark - map_keys e map_values
Em Python, Pyspark é um módulo Spark usado para fornecer um tipo semelhante de processamento como o Spark.

Veremos como criar um map () e como obter todas as chaves e valores usando map_keys () e map_values ​​().

Map () pode ser criado usando a função SQL () usando a consulta Selecionar.

Sintaxe:

Spark_App.sql ("Selecione mapa (chave, valor,…) como map_name")

Aqui,

  1. Spark_App está fora do aplicativo de conexão com faísca
  2. map () leva a ordem do par de valores -chave separada por uma vírgula.
  3. map_name é um alias para o mapa criado.

Primeiro, criaremos um mapa que tenha 6 pares de valor-chave e os exibirá usando o método colecionador ().

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importar rdd do Pyspark.rdd
de Pyspark.RDD Import rdd
#import map_keys () do Pyspark.SQL.Módulo de funções
de Pyspark.SQL.Funções Importar map_keys
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Criar 6 - Pares de assunto e classificação no mapa
my_data = spark_app.SQL ("Selecione mapa (1, 'python', 2, 'java', 3, 'javascript', 4, 'python', 5, 'linux', 6, 'linux') como sujeitos_rating")
#Display o mapa
meus dados.Selecione ('sujeitos_rating').colecionar ()

Saída:

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

Aqui, as chaves são - 1,2,3,4,5,6 e os valores são - 'Python', 'Java', 'JavaScript', 'Python', 'Linux', 'Linux'.

Observação - As chaves não podem ser duplicadas, mas os valores podem ser duplicados.

Pyspark - map_keys ()

map_keys () retornará todas as chaves de um mapa em uma linha. É preciso map_name como um parâmetro.

Sintaxe:

map_keys ('map_name')

Parâmetro:

map_name é o nome do mapa

Exemplo:

Neste exemplo, retornaremos as teclas do mapa para o mapa acima criado.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importar rdd do Pyspark.rdd
de Pyspark.RDD Import rdd
#import map_keys () do Pyspark.SQL.Módulo de funções
de Pyspark.SQL.Funções Importar map_keys
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Criar 6 - Pares de assunto e classificação no mapa
my_data = spark_app.SQL ("Selecione mapa (1, 'python', 2, 'java', 3, 'javascript', 4, 'python', 5, 'linux', 6, 'linux') como sujeitos_rating")
#Obtenha as teclas do mapa dos mapas-sujeitos_rating
meus dados.Selecione (map_keys ('sujeitos_rating'))).colecionar ()

Saída:

[Linha (map_keys (sujeitos_rating) = [1, 2, 3, 4, 5, 6])]

Podemos ver que apenas map_keys foram devolvidos.

Pyspark - map_values ​​()

map_values ​​() retornará todos os valores de um mapa em uma linha. É preciso map_name como um parâmetro.

Sintaxe:

map_values ​​('map_name')

Parâmetro:

map_name é o nome do mapa

Exemplo:

Neste exemplo, retornaremos os valores do mapa para o mapa acima criado.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importar rdd do Pyspark.rdd
de Pyspark.RDD Import rdd
#import map_keys () do Pyspark.SQL.Módulo de funções
de Pyspark.SQL.Funções Importar map_keys
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Criar 6 - Pares de assunto e classificação no mapa
my_data = spark_app.SQL ("Selecione mapa (1, 'python', 2, 'java', 3, 'javascript', 4, 'python', 5, 'linux', 6, 'linux') como sujeitos_rating")
#Obtenha os valores do mapa do mapa-subjects_rating
meus dados.Selecione (map_values ​​('sujeitos_rating'))).colecionar ()

Saída:

[Linha (map_values ​​(sujeitos_rating) = ['python', 'java', 'javascript', 'python', 'linux', 'linux']]]

Podemos ver que apenas Map_values ​​foram devolvidos.

Conclusão

Neste Pyspark, discutimos como criar map () e como acessar as teclas e valores do mapa usando as funções map_keys () e map_values ​​(). Em um mapa, pode haver os mesmos valores para todas as teclas, mas a chave deve ser única.