Pyspark Par Rdd - Ações

Pyspark Par Rdd - Ações
Em Python, Pyspark é um módulo Spark usado para fornecer um tipo semelhante de processamento como o Spark.

RDD significa conjuntos de dados distribuídos resilientes. Podemos chamar RDD como uma estrutura de dados fundamental no Apache Spark. Emparelhar o RDD armazena os elementos/valores na forma de pares de valor-chave. Ele armazenará o par de valores-chave no formato (chave, valor).

Precisamos importar RDD do Pyspark.Módulo RDD.

Em Pyspark para criar um RDD, podemos usar o método parallelize ().

Sintaxe:

Spark_App.SparkContext.paralelize (dados)

Onde:

Os dados podem ser um dados unidimensional (dados lineares) ou bidimensionais (dados da coluna de linha).

RDD Ações:

Uma ação no RDD é uma operação aplicada em um RDD para retornar um único valor. Em outras palavras, podemos dizer que uma ação resultará dos dados fornecidos fazendo alguma operação no RDD fornecido.

Par RDD suporta apenas uma ação. CountByKey () é a ação usada em par RDD.

CountByKey ()

Como sabemos, o par RDD tem elementos de pares de valor-chave. CountByKey é usado para retornar cada chave disponível com ocorrência total como valor de RDD.

Isso pode ser feito usando o método itens () que é um método de dicionário em python.

itens () é usado para extrair os pares de valor-chave de um dicionário. Dicionários armazenam itens em um par de valores-chave. Então, o par RDD está perto do dicionário.

Portanto, esta ação CountByKey () usa o método itens ().

Sintaxe:

Par_rdd.CountByKey ().Unid()

Onde par_rdd é o par rdd.

Retorna a contagem de valores por chave no formato - dict_items ([(chave, valor),…])

Podemos usar um loop para loop através das chaves e valores para retornar separadamente.

Exemplo:

Neste exemplo, criamos um par de RDD nomeado STEINDS_RATING com 6 pares de valor -chave e aplicamos a ação CountByKey (). Finalmente, estamos exibindo ação real e usando um loop para loop.

#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
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Criar 6 - Pares de assunto e classificação
sujeitos_rating = spark_app.SparkContext.paralelize ([('python', 4), ('javascript', 2), ('linux', 5), ('c#', 4), ('javascript', 4), ('python', 3) ]))
#Apply CountByKey () Ação no par de sujeitos acima RDD
dictionary_rdd = sujeitos_rating.CountByKey ().Unid()
#mostrar
print ("countbykey () ação em rdd-subjects_rating:", dictionary_rdd)
#Obtenha as chaves e o valor contam do dicionário acima RDD
Para chaves, valores no dictionary_rdd:
Imprimir (chaves, "->", valores)

Saída:

CountByKey () Ação em RDD-Subjects_rating: dict_items ([('python', 2), ('javascript', 2), ('linux', 1), ('c#', 1)]))
Python -> 2
JavaScript -> 2
Linux -> 1
C# -> 1

No par RDD,

  1. O píton-chave ocorreu 2 vezes, então o valor é retornado 2
  2. Javascript de chave ocorreu 2 vezes, portanto, o valor é retornado 2
  3. Key-Linux e Key-C# ocorreram 1 tempo, então o valor é retornado 1

CountByKey () Ação com Keys ()

Se você precisar devolver apenas as teclas, a ação CountByKey () usa o método keys ().

Sintaxe:

Par_rdd.CountByKey ().chaves()

Onde par_rdd é o par rdd.

Ele retorna a contagem de valores por chave no formato - dict_items ([chave,…])

Podemos usar um loop para loop através das chaves para retornar separadamente.

Exemplo:

Neste exemplo, criamos um par de RDD nomeado STEINDS_RATING com 6 pares de valores -chave e aplicamos a ação CountByKey () para obter apenas teclas. Finalmente, estamos exibindo ação real e usando um loop para loop.

#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
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Criar 6 - Pares de assunto e classificação
sujeitos_rating = spark_app.SparkContext.paralelize ([('python', 4), ('javascript', 2), ('linux', 5), ('c#', 4), ('javascript', 4), ('python', 3) ]))
#Apply CountByKey () Ação no par de sujeitos acima RDD para obter chaves
dictionary_rdd = sujeitos_rating.CountByKey ().chaves()
#mostrar
print ("countbykey () ação em rdd-subjects_rating:", dictionary_rdd)
#Obtenha as chaves do dicionário acima RDD
Para chaves no dictionary_rdd:
Imprimir (chaves)

Saída:

CountByKey () Ação em RDD-Subjects_rating: dict_keys (['Python', 'JavaScript', 'Linux', 'C#'])
Pitão
JavaScript
Linux
C#

Podemos ver que apenas a chave é devolvida.

CountByKey () Ação com valores ()

Se você precisar retornar apenas valores totais por chave, a ação CountByKey () usa o método valores ().

Sintaxe:

Par_rdd.CountByKey ().valores ()

Onde, par_rdd é o par rdd.

Retorna a contagem de valores por chave no formato - dict_items ([valor,…])

Podemos usar um loop for para fazer um loop através dos valores para retornar separadamente.

Exemplo:

Neste exemplo, criamos um par de RDD nomeado STEINDS_RATING com 6 pares de valores -chave e aplicamos a ação countByKey () com valores () para obter apenas valores. Finalmente, estamos exibindo ação real e usando um loop para loop.

#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
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Criar 6 - Pares de assunto e classificação
sujeitos_rating = spark_app.SparkContext.paralelize ([('python', 4), ('javascript', 2), ('linux', 5), ('c#', 4), ('javascript', 4), ('python', 3) ]))
#Apply CountByKey () Ação no par de sujeitos acima RDD para obter valores
dictionary_rdd = sujeitos_rating.CountByKey ().valores ()
#mostrar
print ("countbykey () ação em rdd-subjects_rating:", dictionary_rdd)
#Obtenha os valores do dicionário acima RDD
Para valores em dictionary_rdd:
Impressão (valores)

Saída:

CountByKey () Ação em RDD-Subjects_rating: dict_values ​​([2, 2, 1, 1])
2
2
1
1

Podemos ver que apenas os valores totais são retornados.

Conclusão

Neste tutorial Pyspark RDD, vimos como executar a ação no par RDD usando a ação CountByKey (). Ele usou o método itens () para retornar as chaves disponíveis com a ocorrência total (valor). Se você precisar apenas de uma chave, poderá usar o método Keys () com CountByKey () e se precisar de contagem de valores apenas, com CountByKey (), poderá usar valores ().