Como posso escrever um arquivo parquet usando Spark (pyspark)?

Author: ebertbm, 2017-02-03

2 answers

O erro deveu-se ao facto de o método textFile de SparkContext ter devolvido um RDD e o que eu precisava era de um DataFrame.

O SparkSession está debaixo do capô. Então eu precisava usar o DataFrameReader para ler o arquivo CSV corretamente antes de convertê-lo para um arquivo 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")
 53
Author: ebertbm, 2017-02-08 10:40:50

Você também pode escrever arquivos Parquet de Spark com koalas. Esta Biblioteca é óptima para pessoas que preferem a sintaxe Pandas. Coalas é PySpark debaixo do capô.

Aqui está o código do Coala:
import databricks.koalas as ks

df = ks.read_csv('/temp/proto_temp.csv')
df.to_parquet('output/proto.parquet')

Leiaeste post Se quiser mais detalhes.

 2
Author: Powers, 2020-10-07 13:49:31