Spark以Row()格式写出“saveAsTextFile”

时间:2016-05-20 16:55:05

标签: python csv amazon-s3 apache-spark pyspark

我正在尝试将这些文件从S3复制到Redshift,它们都是Row(column1 = value,column2 = value,...)的格式,这显然会导致问题。如何在正常的csv中写出数据帧?

我这样称呼它:

# final_data.rdd.saveAsTextFile(
    #     path=r's3n://inst-analytics-staging-us-standard/spark/output',
    #     compressionCodecClass='org.apache.hadoop.io.compress.GzipCodec'
    # )

我也尝试用spark-csv模块写出来,似乎它忽略了我所做的任何计算,只是将原始的镶木地板文件格式化为csv并将其转储出来。

我这样称呼:

df.write.format('com.databricks.spark.csv').save('results')

1 个答案:

答案 0 :(得分:0)

spark-csv方法很好,应该可行。通过查看您在原始DataFrame df.write上调用df的代码,这就是为什么它忽略了您的转换。为了正常工作,也许你应该这样做:

final_data = # Do your logic on df and return a new DataFrame        
final_data.write.format('com.databricks.spark.csv').save('results')