Spark sql group by и сумма изменения имени столбца? - PullRequest
0 голосов
/ 11 октября 2018

В этом фрейме данных я нахожу общую зарплату в каждой группе.В 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. Общая сумма псевдонимов не отображается, вместо этого онапоказывая столбец "сумма (зарплата)"
  2. Я не мог использовать $ (я думаю, что синтаксис Scala SQL).Получение компиляции

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

Есть идеи?

1 Ответ

0 голосов
/ 11 октября 2018

Используйте функцию агрегирования .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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...