如何使用 Spark (pyspark) 编写镶木地板文件



我在Spark中很新,我一直在尝试将数据帧转换为Spark中的镶木地板文件,但我还没有成功。文档说我可以使用write.parquet函数来创建文件。但是,当我运行脚本时,它向我显示:属性错误:"RDD"对象没有属性"写入"

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构建的Spark 2.0.1。

错误是由于 SparkContexttextFile 方法返回了一个RDD,我需要的是一个DataFrame

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

from pyspark.sql import SparkSession
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")

你也可以用考拉从Spark写出Parquet文件。 这个库非常适合喜欢 Pandas 语法的人。 考拉是引擎盖下的PySpark。

这是考拉代码:

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

相关内容

  • 没有找到相关文章

最新更新