Короткий ответ - нет.В общем случае DataFrames
являются не заказанными , поэтому нет ничего для сохранения.Кроме того, для агрегации требуется случайное перемешивание, и, как таковое, не гарантируется какой-либо порядок обработки операций.
В определенных случаях вы можете попробовать что-то похожее на:
import org.apache.spark.sql.functions._
df
.withColumn("id", monotonically_increasing_id)
.groupBy("key")
.agg(collect_list(struct($"id", $"val")).alias("val"))
.select($"key", sort_array($"val").getItem("val").alias("val"))
, но использовать его по своему усмотрениюриск, и только если вы полностью понимаете гарантии вышестоящего плана выполнения.