Scala 错误:值orderBy不是org.apache.spark.sql.RelationalGroupedDataset的成员
运行此代码时:Scala 错误:值orderBy不是org.apache.spark.sql.RelationalGroupedDataset的成员,scala,apache-spark,Scala,Apache Spark,运行此代码时: df 。选择($“计算日期”、$“引擎系列”、$“程序组名称”) .groupBy($“计算日期”,“发动机系列”,“程序组名称”) .orderBy($“计算日期”.desc) .count() .WithColumnRename(“计数”、“实际计数”) .show() 我得到以下错误: 错误:值orderBy不是org.apache.spark.sql.RelationalGroupedDataset的成员 如错误消息中所述,orderBy不能用于RelationalGr
df
。选择($“计算日期”、$“引擎系列”、$“程序组名称”)
.groupBy($“计算日期”,“发动机系列”,“程序组名称”)
.orderBy($“计算日期”.desc)
.count()
.WithColumnRename(“计数”、“实际计数”)
.show()
我得到以下错误:
错误:值orderBy不是org.apache.spark.sql.RelationalGroupedDataset的成员
如错误消息中所述,orderBy
不能用于RelationalGroupedDataset
groupBy
函数不会像where
、select
甚至orderBy
函数那样返回基本的DataFrame
。它返回一个RelationalGroupedDataset
,您只能对其应用聚合函数,例如示例中的count
。然后,聚合函数将返回一个可以排序的数据帧
在您的情况下,只需切换orderBy
和count
,它就会起作用。如错误消息中所述,orderBy
不能用于RelationalGroupedDataset
groupBy
函数不会像where
、select
甚至orderBy
函数那样返回基本的DataFrame
。它返回一个RelationalGroupedDataset
,您只能对其应用聚合函数,例如示例中的count
。然后,聚合函数将返回一个可以排序的数据帧
在您的情况下,只需切换orderBy
和count
,它就会工作。基本上GroupBy将返回RelationalGroupedDataset,这意味着与包含一些组的数据集的关系。
现在,要将此RelationalGroupedDataset转换为数据帧,您需要为此数据集的每个组指定至少一个聚合。
现在,此聚合可以是类似count、sum的任何内容,也可以使用.agg()方法对RelationalGroupedDataset应用多个聚合。
一旦将此RelationalGroupedDataset转换为普通数据帧,您就可以在此数据帧上使用普通orderBy和其他函数。基本上,GroupBy将返回RelationalGroupedDataset,这意味着与包含某些组的数据集的关系。
现在,要将此RelationalGroupedDataset转换为数据帧,您需要为此数据集的每个组指定至少一个聚合。
现在,此聚合可以是类似count、sum的任何内容,也可以使用.agg()方法对RelationalGroupedDataset应用多个聚合。
将此RelationalGroupedDataset转换为普通数据帧后,就可以在此数据帧上使用普通orderBy和其他函数