我正在處理一個包含兩列uni_key和createdDate的數據框。我運行SQL查詢並將結果保存爲'a',現在我想將這些結果保存到csv文件中。有沒有辦法做到這一點?這裏有一個代碼片段:如何將數據框保存到spark 1.6中的csv文件?
import sys
from pyspark import SparkContext
from pyspark.sql import SQLContext, Row
import csv
if len(sys.argv) != 2:
print("Usage: cleaning_date.py <file>")
exit(-1)
sc = SparkContext()
sqlContext = SQLContext(sc)
csvfile = sc.textFile("new_311.csv")
key_val = csvfile.mapPartitions(lambda x: csv.reader(x)).map(lambda x: (x[0], x[1]))
result = key_val.filter(lambda x: getDataType(x[1]) == "valid")
myDataFrame = sqlContext.createDataFrame(result, ('uni_key', 'createdDate'))
print(type(myDataFrame))
myDataFrame.registerTempTable("abc")
a = sqlContext.sql("SELECT uni_key FROM abc")
a.show()
# a.write.format("com.databricks.spark.csv").save("l.csv")
a.write.option("header", "true").csv("aaa.csv")
sc.stop()
這個代碼提供了以下錯誤現在:
AttributeError的:「DataFrameWriter」對象有沒有屬性「CSV」
確實註釋掉了'a.write.format(「com.databricks.spark.csv」)。save(「l.csv」)',不工作? – Pushkr