Spark版本:1.6.1,我用的是pyspark API。
DataFrame:df,有两列。
我试过:
1: df.write.format('csv').save("hdfs://path/bdt_sum_vol.csv")
2: df.write.save('hdfs://path/bdt_sum_vol.csv', format='csv', mode='append')
3: df.coalesce(1).write.format('com.databricks.spark.csv').options(header='true').save('hdfs://path/')
4: df.write.format('com.databricks.spark.csv').save('hdfs://path/df.csv')
(All above didn't work, Failed to find data source)
或:
def toCSVLine(data):
return ','.join(str(d) for d in data)
lines = df.rdd.map(toCSVLine)
lines.saveAsTextFile('hdfs://path/df.csv')
(Permission denied)
问:
1、如何解决“找不到数据源”?
2,我用sudo在hdfs上创建了字典“/path”,如果我把dataframe转为rdd,如何在hdfs上将rdd写入csv?
非常感谢!
请您参考如下方法:
您可以尝试将“.save”更改为“.csv”:
df.coalesce(1).write.mode('overwrite').option('header','true').csv('hdfs://path/df.csv')
