在此数据框中,我正在查找每个组的总工资。在Oracle中,我将使用此代码
select job_id,sum(salary) as "Total" from hr.employees group by job_id;
在Spark SQL中尝试相同的操作,我面临两个问题
empData.groupBy($"job_id").sum("salary").alias("Total").show()
我无法使用$
(我认为Scala SQL语法)。遇到编译问题
empData.groupBy($"job_id").sum($"salary").alias("Total").show()
有什么主意吗?
答案 0 :(得分:2)
如果要提供别名,请使用聚合函数.agg()
。这接受scala语法($“”)
empData.groupBy($"job_id").agg(sum($"salary") as "Total").show()
如果您不想使用.agg()
,也可以使用.select()
提供别名:
empData.groupBy($"job_id").sum("salary").select($"job_id", $"sum(salary)".alias("Total")).show()