Lea*_*oop 4 scala apache-spark
在这个数据框中,我找到了每个组的总工资。在 Oracle 中我会使用这段代码
select job_id,sum(salary) as "Total" from hr.employees group by job_id;
Run Code Online (Sandbox Code Playgroud)
在 Spark SQL 中尝试了相同的操作,我面临两个问题
empData.groupBy($"job_id").sum("salary").alias("Total").show()
Run Code Online (Sandbox Code Playgroud)
我无法使用$
(我认为是 Scala SQL 语法)。遇到编译问题
empData.groupBy($"job_id").sum($"salary").alias("Total").show()
Run Code Online (Sandbox Code Playgroud)任何想法?
.agg()
如果您想提供别名,请使用聚合函数。这接受 scala 语法 ($" ")
empData.groupBy($"job_id").agg(sum($"salary") as "Total").show()
Run Code Online (Sandbox Code Playgroud)
如果您不想使用.agg()
,也可以使用以下方式提供别名.select()
:
empData.groupBy($"job_id").sum("salary").select($"job_id", $"sum(salary)".alias("Total")).show()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5857 次 |
最近记录: |