我正在使用Spark 1.3.1(PySpark),我使用SQL查询生成了一个表.我现在有一个对象DataFrame.我想将此DataFrame对象(我将其称为"表")导出到csv文件,以便我可以操作它并绘制列.如何将DataFrame"表" 导出到csv文件?
谢谢!
python dataframe export-to-csv apache-spark apache-spark-sql
我spark job在一个有2个工作节点的集群中运行!我使用下面的代码(spark java)将计算出的数据帧保存为csv到工作节点.
dataframe.write().option("header","false").mode(SaveMode.Overwrite).csv(outputDirPath);
我试图了解spark如何在每个工作节点上写入多个部分文件.
Run1)worker1有part files和SUCCESS; worker2让_temporarty/task*/part*每个任务都运行部分文件.
Run2)worker1有部分文件和_temporary目录; worker2具有multiple part files
谁能帮助我理解为什么会出现这种行为?1)我是否应该将记录outputDir/_temporary作为输出文件的一部分与part files in outputDir?一起考虑?
2)_temporary 在作业运行后是否应该删除dir并将part文件移动到outputDir?
3)为什么不能直接在输出目录下创建零件文件?
coalesce(1)并且repartition(1)不能成为选项,因为outputDir文件本身就在附近500GB
Spark 2.0.2. 2.1.3 和 Java 8, no HDFS
我有一个使用Spark生成的RDD.现在,如果我将此RDD写入csv文件,我将获得一些方法,如"saveAsTextFile()",它将csv文件输出到HDFS.
我想将文件写入我的本地文件系统,以便我的SSIS进程可以从系统中选择文件并将它们加载到数据库中.
我目前无法使用sqoop.
除了编写shell脚本之外,它是否可以在Java中实现.
如果需要清晰,请告知.
为什么火花在将结果保存到文件系统的同时,将结果文件上传到_temporary目录,然后将它们移动到输出文件夹而不是直接将它们上传到输出文件夹?