Spark CSV 2.1文件名

时间:2017-03-18 05:09:26

标签: apache-spark spark-dataframe spark-csv

我尝试使用新的spark 2.1 csv选项将DataFrame保存为CSV

 df.select(myColumns: _*).write
                  .mode(SaveMode.Overwrite)
                  .option("header", "true")
                  .option("codec", "org.apache.hadoop.io.compress.GzipCodec")
                  .csv(absolutePath)

一切正常,我不介意使用部分000XX前缀 但现在似乎有些UUID被添加为后缀

i.e
part-00032-10309cf5-a373-4233-8b28-9e10ed279d2b.csv.gz ==> part-00032.csv.gz

任何人都知道如何删除此文件分机并仅保留部分000XX召集

由于

1 个答案:

答案 0 :(得分:3)

您可以通过覆盖配置选项“spark.sql.sources.writeJobUUID”来删除UUID:

https://github.com/apache/spark/commit/0818fdec3733ec5c0a9caa48a9c0f2cd25f84d13#diff-c69b9e667e93b7e4693812cc72abb65fR75

不幸的是,此解决方案不会完全镜像旧的saveAsTextFile样式(即part-00000),但可以使输出文件名更加清晰,例如part-00000-output.csv.gz,其中“output”是您传递的值到spark.sql.sources.writeJobUUID。 “ - ”会自动附加

SPARK-8406是相关的Spark问题,这是实际的Pull请求:https://github.com/apache/spark/pull/6864