簡體   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