我正在使用https://github.com/databricks/spark-csv,我正在尝试编写单个CSV,但不能,它正在创建一个文件夹.
需要一个Scala函数,它将获取路径和文件名等参数并写入该CSV文件.
上周我很难从Spark中获取数据,最后我不得不随意使用
df.toPandas().to_csv('mycsv.csv')
Run Code Online (Sandbox Code Playgroud)
出于这个答案.
我测试了更多的原生
df.write.csv('mycsv.csv')
Run Code Online (Sandbox Code Playgroud)
对于Spark 2.0+但是根据下面的注释,它会丢弃一组csv文件而不是一个需要连接的文件,无论在这种情况下是什么意思.它还将一个空文件放入名为"success"的目录中.目录名是/ mycsv /,但csv本身的长字符串中有一个难以理解的名称.
这是我第一次听说过这样的事情.好吧,Excel有多个选项卡,必须以某种方式反映在.xls文件中,NumPy数组可以是多维的,但我认为csv文件只是一个标题,值由行中的逗号分隔成列.
query.repartition(1).write.csv("cc_out.csv", sep='|')
Run Code Online (Sandbox Code Playgroud)
因此,这只会删除一个文件和空白的"成功"文件,但该文件仍然没有您想要的名称,该目录的名称.
有谁知道为什么Spark会这样做,为什么它不会简单地输出一个csv,它如何命名csv,这个成功文件应包含什么,如果连接csv文件意味着在这里垂直连接它们,从头到尾.