在spark SQL(也许只有HiveQL)中,可以做到:
select sex, avg(age) as avg_age
from humans
group by sex
Run Code Online (Sandbox Code Playgroud)
这将导致一个DataFrame名为"sex"和列的列"avg_age".
如何avg(age)在"avg_age"不使用文本SQL的情况下使用别名?
编辑: 在零点323的回答之后,我需要添加以下约束:
要重命名的列的名称可能不知道/保证甚至无法寻址.在文本SQL中,使用"选择EXPR作为名称"不需要具有EXPR的中间名称.在上面的示例中也是如此,其中"avg(age)"可以获得各种自动生成的名称(在spark发布和sql-context后端之间也有所不同).