Contamos con la solución a esta dificultad, o por lo menos eso deseamos. Si tienes alguna pregunta puedes escribirlo en el apartado de comentarios y con gusto te ayudaremos
Solución:
El error se debió a que el textFile
método de SparkContext
devolvió un RDD
y lo que necesitaba era un DataFrame
.
SparkSession tiene una SQLContext
bajo el capó. Así que necesitaba usar el DataFrameReader
para leer el archivo CSV correctamente antes de convertirlo en un archivo de parquet.
spark = SparkSession
.builder
.appName("Protob Conversion to Parquet")
.config("spark.some.config.option", "some-value")
.getOrCreate()
# read csv
df = spark.read.csv("/temp/proto_temp.csv")
# Displays the content of the DataFrame to stdout
df.show()
df.write.parquet("output/proto.parquet")
También puede escribir archivos de Parquet desde Spark con koalas. Esta biblioteca es excelente para las personas que prefieren la sintaxis de Pandas. Koalas es PySpark bajo el capó.
Aquí está el código de Koala:
import databricks.koalas as ks
df = ks.read_csv('/temp/proto_temp.csv')
df.to_parquet('output/proto.parquet')
Lea esta publicación de blog si desea obtener más detalles.
Aquí puedes ver las reseñas y valoraciones de los lectores
Nos puedes apoyar nuestro trabajo ejecutando un comentario y dejando una valoración te damos las gracias.