如何使用Spark(pyspark)编写拼花文件?

2024-05-02 07:23:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Spark很新,我一直试图在Spark中将一个数据帧转换成一个拼花文件,但还没有成功。documentation表示我可以使用write.parquet函数来创建文件。但是,当我运行脚本时,它显示:AttributeError:'RDD'对象没有属性'write'

from pyspark import SparkContext
sc = SparkContext("local", "Protob Conversion to Parquet ")

# spark is an existing SparkSession
df = sc.textFile("/temp/proto_temp.csv")

# Displays the content of the DataFrame to stdout
df.write.parquet("/output/proto.parquet")

你知道怎么做吗?

我使用的spark版本是为Hadoop 2.7.3构建的spark2.0.1。


Tags: 文件theto数据dftemp中将spark
1条回答
网友
1楼 · 发布于 2024-05-02 07:23:26

这个错误是由于SparkContext中的textFile方法返回了RDD,而我需要的是DataFrame

SparkSession在引擎盖下有一个SQLContext。因此,在将CSV文件转换为拼花文件之前,我需要使用DataFrameReader来正确地读取它。

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")

相关问题 更多 >