Spark sortBy:编写时是否保留顺序?

时间:2019-10-11 15:54:06

标签: apache-spark apache-spark-sql databricks

我在Scala / Spark:

  myDataframe
   .orderBy("date")
   .write
   .csv(...)

生成的CSV是:

part-00000-xxx.csv
part-00001-xxx.csv
part-00002-xxx.csv

问题:

  1. 您是否知道在运行前面的代码之后,是否可以保证将“日期”顺序保留在单个文件中?

  2. 文件之间是否也是如此?我的意思是保证00001部分中的“日期”要优于部分00000中的“日期”吗?

  3. 如果没有,您能否发布一个满足上述两个要求的代码?

1 个答案:

答案 0 :(得分:0)

如果要在保存订单前执行.coallesce(1),则将保留。

您可以添加具有顺序索引的列,也许会对您有所帮助。

myDataframe
.withColumn("order", row_number().over(Window.orderBy('date)))
.write
.csv(...)