私はSparkでかなり新しく、Sparkでデータフレームを寄木細工ファイルに変換しようとしましたが、まだ成功していません。 ドキュメント は、write.parquet関数を使用してファイルを作成できることを示していますが、スクリプトを実行すると、 me: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私が使用しているバージョンはSpark 2.0.1 Hadoop 2.7.3用にビルドされたものです。
エラーは、textFile
からのSparkContext
メソッドがRDD
を返し、必要なのはDataFrame
であったためです。
SparkSessionの内部にはSQLContext
があります。そのため、DataFrameReader
を使用してCSVファイルを正しく読み取ってから、寄木細工のファイルに変換する必要がありました。
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")