排序前后的输出是否有差异 .write
Dataframe上的命令?
val people : DataFrame[Person]
people
.orderBy("name")
.write
.mode(SaveMode.Append)
.format("parquet")
.saveAsTable("test_segments")
和
val people : DataFrame[Person]
people
.write
.sortBy("name")
.mode(SaveMode.Append)
.format("parquet")
.saveAsTable("test_segments")
1条答案
按热度按时间zvms9eto1#
代码中的注解解释了它们之间的区别:
orderby:是一个数据集/Dataframe操作。返回按给定表达式排序的新数据集。这是排序函数的别名。
sortby:是一个dataframewriter操作。按给定列对每个bucket中的输出进行排序。
这个
sortBy
方法仅在同时定义bucket时有效(bucketBy
). 否则会出现异常:中定义的列
sortBy
在bucketspec中用作sortColumnNames
如下图所示: