【发布时间】:2018-02-27 09:54:48
【问题描述】:
上周我很难从 Spark 中获取数据,最后我不得不简单地选择
df.toPandas().to_csv('mycsv.csv')
this 的答案。
我测试过更原生的
df.write.csv('mycsv.csv')
对于 Spark 2.0+,但根据下面的the comment,它会删除一组 csv 文件,而不是需要连接的一个文件,无论在这种情况下这意味着什么。它还将一个空文件放入名为“success”之类的目录中。目录名称是 /mycsv/,但 csv 本身有一个由一长串字符组成的难以理解的名称。
这是我第一次听说这样的事情。嗯,Excel 有多个选项卡,必须以某种方式反映在 .xls 文件中,NumPy 数组可以是多维的,但我认为 csv 文件只是一个标题,值在行中用逗号分隔成列。
Another answer 建议:
query.repartition(1).write.csv("cc_out.csv", sep='|')
所以这只会删除一个文件和空白的“成功”文件,但文件仍然没有您想要的名称,目录有。
有谁知道 Spark 为什么要这样做,为什么它不会简单地输出一个 csv,它如何命名 csv,该成功文件应该包含什么,以及连接 csv 文件是否意味着在这里将它们垂直连接起来,从头到尾。
【问题讨论】:
标签: python csv apache-spark pyspark