Pyspark Par Rdd - Acciones

Pyspark Par Rdd - Acciones
En Python, Pyspark es un módulo de chispa utilizado para proporcionar un tipo de procesamiento similar como Spark.

RDD significa conjuntos de datos distribuidos resilientes. Podemos llamar a RDD como una estructura de datos fundamental en Apache Spark. Par de RDD almacena los elementos/valores en forma de pares de valores clave. Almacenará el par de valores clave en el formato (clave, valor).

Necesitamos importar RDD del Pyspark.módulo RDD.

En Pyspark para crear un RDD, podemos usar el método Parallelize ().

Sintaxis:

Spark_app.sparkcontext.Paralelizar (datos)

Dónde:

Los datos pueden ser un dimensional (datos lineales) o datos bidimensionales (datos de columna de fila).

Acciones RDD:

Una acción en RDD es una operación que se aplica en un RDD para devolver un valor único. En otras palabras, podemos decir que una acción resultará de los datos proporcionados haciendo alguna operación en el RDD dado.

El par rdd admite solo una acción. countByKey () es la acción que se usa en el par rdd.

CountByKey ()

Como sabemos, el par rdd tiene elementos de par de valor clave. CountByKey se usa para devolver cada clave disponible con ocurrencia total como valor de RDD.

Esto se puede hacer utilizando el método elementos () que es un método de diccionario en Python.

Elementos () se usa para extraer los pares de valor clave de un diccionario. Los diccionarios almacenan artículos en un par de valores clave. Entonces, el par rdd está cerca del diccionario.

Entonces, esta acción countbykey () usa el método elementos ().

Sintaxis:

Pair_rdd.CountByKey ().elementos()

Donde par_rdd es el par rdd.

Devuelve el recuento de valores por clave en el formato - dict_items ([(clave, valor), ...])

Podemos usar un bucle for para bucle a través de las teclas y los valores para devolver por separado.

Ejemplo:

En este ejemplo, creamos un par rdd llamado temas_rating con 6 pares de valor clave y la acción de countbykey () aplicada (). Finalmente, estamos mostrando una acción real y usando un bucle for para.

#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
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear 6 - pares de asignatura y calificación
Sujets_rating = Spark_App.sparkcontext.Paralelize ([('Python', 4), ('JavaScript', 2), ('Linux', 5), ('C#', 4), ('JavaScript', 4), ('Python', 3) ])
#Apply CountByKey () Acción en el par temas_rating de arriba rdd
diccionario_rdd = temas_rating.CountByKey ().elementos()
#mostrar
print ("countByKey () Action en RDD-Subjects_Rating:", Dictionary_RDD)
#Obtenga las claves y los recuentos de valor del diccionario anterior RDD
Para claves, valores en diccionario_rdd:
imprimir (claves, "->", valores)

Producción:

countByKey () Acción en RDD-Subjects_Rating: dict_items ([('Python', 2), ('JavaScript', 2), ('Linux', 1), ('C#', 1)])))
Python -> 2
JavaScript -> 2
Linux -> 1
C# -> 1

En la pareja rdd,

  1. Key-Python ocurrió 2 veces, por lo que el valor se devuelve 2
  2. Key-JavaScript ocurrió 2 veces, por lo que el valor para él se devuelve 2
  3. Key-Linux y Key-C# ocurrieron 1 vez, por lo que el valor se devuelve 1

countbykey () acción con teclas ()

Si necesita devolver solo las teclas, entonces la acción CountByKey () usa el método de teclas ().

Sintaxis:

Pair_rdd.CountByKey ().llaves()

Donde par_rdd es el par rdd.

Devuelve el recuento de valores por clave en el formato - dict_items ([clave, ...])

Podemos usar un bucle for para bucle a través de las teclas para regresar por separado.

Ejemplo:

En este ejemplo, creamos un par RDD llamado temas_rating con 6 pares de valores clave y la acción aplicada CountByKey () para obtener solo claves. Finalmente, estamos mostrando una acción real y usando un bucle for para.

#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
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear 6 - pares de asignatura y calificación
Sujets_rating = Spark_App.sparkcontext.Paralelize ([('Python', 4), ('JavaScript', 2), ('Linux', 5), ('C#', 4), ('JavaScript', 4), ('Python', 3) ])
#Apply CountByKey () Acción en el par de asignes_ratando RDD RDD para obtener claves para obtener claves
diccionario_rdd = temas_rating.CountByKey ().llaves()
#mostrar
print ("countByKey () Action en RDD-Subjects_Rating:", Dictionary_RDD)
#get las claves del diccionario anterior RDD
para claves en diccionario_rdd:
Imprimir (teclas)

Producción:

countByKey () Acción en RDD-Subjects_Rating: dict_keys (['Python', 'JavaScript', 'Linux', 'C#'])
pitón
javascript
Linux
C#

Podemos ver que solo se devuelve la clave.

countByKey () acción con valores ()

Si necesita devolver solo los valores totales por clave, entonces CountByKey () Action usa el método valores ().

Sintaxis:

Pair_rdd.CountByKey ().valores()

Donde, par_rdd es el par rdd.

Devuelve el recuento de valores por clave en el formato - dict_items ([valor, ...])

Podemos usar un bucle for para bucle a través de los valores para volver por separado.

Ejemplo:

En este ejemplo, creamos un par RDD llamado Sujets_Rating con 6 pares de valor clave y la acción aplicada CountByKey () con valores () para obtener solo valores. Finalmente, estamos mostrando una acción real y usando un bucle for para.

#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
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear 6 - pares de asignatura y calificación
Sujets_rating = Spark_App.sparkcontext.Paralelize ([('Python', 4), ('JavaScript', 2), ('Linux', 5), ('C#', 4), ('JavaScript', 4), ('Python', 3) ])
#Apply CountByKey () Acción en el par temas_rating de arriba RDD para obtener valores
diccionario_rdd = temas_rating.CountByKey ().valores()
#mostrar
print ("countByKey () Action en RDD-Subjects_Rating:", Dictionary_RDD)
#Obtenga los valores del diccionario anterior RDD
Para valores en diccionario_rdd:
Imprimir (valores)

Producción:

countByKey () Acción en RDD-Subjects_Rating: dict_values ​​([2, 2, 1, 1])
2
2
1
1

Podemos ver que solo se devuelven los valores totales.

Conclusión

En este tutorial de Pyspark RDD, vimos cómo realizar la acción en el par rdd usando countbykey () acción. Usó el método elementos () para devolver las claves disponibles con ocurrencia total (valor). Si solo necesita una clave, puede usar el método Keys () con CountByKey () y si solo necesita un recuento de valor, con CountByKey () puede usar valores ().