Convertir fila en lista RDD en PySpark

En este artículo, vamos a convertir Row en una lista RDD en Pyspark.

Creando RDD desde Row para demostración:

Python3

# import Row and SparkSession
from pyspark.sql import SparkSession, Row
  
# create sparksession
spark = SparkSession.builder.appName('SparkByExamples.com').getOrCreate()
  
# create student data with Row function
data = [Row(name="sravan kumar",
            subjects=["Java", "python", "C++"],
            state="AP"),
  
        Row(name="Ojaswi",
            lang=["Spark", "Java", "C++"],
            state="Telangana"),
  
        Row(name="rohith",
            subjects=["DS", "PHP", ".net"],
            state="AP"),
  
        Row(name="bobby",
            lang=["Python", "C", "sql"],
            state="Delhi"),
  
        Row(name="rohith",
            lang=["CSharp", "VB"],
            state="Telangana")]
rdd = spark.sparkContext.parallelize(data)
  
# display actual rdd
rdd.collect()

Producción:

[Row(name='sravan kumar', subjects=['Java', 'python', 'C++'], state='AP'),
Row(name='Ojaswi', lang=['Spark', 'Java', 'C++'], state='Telangana'),
Row(name='rohith', subjects=['DS', 'PHP', '.net'], state='AP'),
Row(name='bobby', lang=['Python', 'C', 'sql'], state='Delhi'),
Row(name='rohith', lang=['CSharp', 'VB'], state='Telangana')]

Usando la función map() podemos convertir en lista RDD

Sintaxis: rdd_data.map(lista)

donde, rdd_data es el tipo de datos rdd.

Finalmente, al usar el método de recopilación, podemos mostrar los datos en la lista RDD.

Python3

# convert rdd to list by using map() method
b = rdd.map(list)
  
# display the data in b with collect method
for i in b.collect():
    print(i)

Producción:

['sravan kumar', ['Java', 'python', 'C++'], 'AP']
['Ojaswi', ['Spark', 'Java', 'C++'], 'Telangana']
['rohith', ['DS', 'PHP', '.net'], 'AP']
['bobby', ['Python', 'C', 'sql'], 'Delhi']
['rohith', ['CSharp', 'VB'], 'Telangana']

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *