Spark sortBy:写入时是否保留顺序?
Spark sortBy : is the order preserved when writing?
我有 Scala/Spark :
myDataframe
.orderBy("date")
.write
.csv(...)
生成的 CSV 是:
part-00000-xxx.csv
part-00001-xxx.csv
part-00002-xxx.csv
问题:
你知道在 运行 之前的代码之后, "date" 订单将保证保留在单个文件中吗?
文件之间也是如此?我的意思是 part-00001 中的 "date" 保证优于 part-00000 中的那些?
如果不行,能否请您post解释一下同时满足这两个要求的代码?
如果您在保存之前执行 .coallesce(1),订单将保留。
您可以添加带有顺序索引的列,也许会对您有所帮助。
myDataframe
.withColumn("order", row_number().over(Window.orderBy('date)))
.write
.csv(...)
我有 Scala/Spark :
myDataframe
.orderBy("date")
.write
.csv(...)
生成的 CSV 是:
part-00000-xxx.csv
part-00001-xxx.csv
part-00002-xxx.csv
问题:
你知道在 运行 之前的代码之后, "date" 订单将保证保留在单个文件中吗?
文件之间也是如此?我的意思是 part-00001 中的 "date" 保证优于 part-00000 中的那些?
如果不行,能否请您post解释一下同时满足这两个要求的代码?
如果您在保存之前执行 .coallesce(1),订单将保留。
您可以添加带有顺序索引的列,也许会对您有所帮助。
myDataframe
.withColumn("order", row_number().over(Window.orderBy('date)))
.write
.csv(...)