繁体   English   中英

Spark sql group by和求和更改列名称?

[英]Spark sql group by and sum changing column name?

在此数据框中,我正在查找每个组的总工资。 在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()
  1. 别名总计未显示,而是显示“ sum(salary)”列
  2. 我不能使用$ (我认为Scala SQL语法)。 获取编译问题

      empData.groupBy($"job_id").sum($"salary").alias("Total").show() 

任何想法?

如果要提供别名,请使用聚合函数.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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM