在火花SQL(也许只有HiveQL)一个可以这样做:是否有可能在spark sql中以编程方式别名列?
select sex, avg(age) as avg_age
from humans
group by sex
,这将导致一个名为"sex"
和"avg_age"
列DataFrame
。
avg(age)
如何在不使用文本SQL的情况下将其别名为"avg_age"
?
编辑: zero323的回答后,我需要添加约束:
列将要更名为的名字可能不知道/保证,甚至可寻址。在文本SQL中,使用“选择EXPR作为名称”取消了为EXPR设置中间名称的要求。在上面的例子中也是这种情况,其中“avg(age)”可以获得各种自动生成的名称(它们在spark版本和sql-context后端中也有所不同)。
您可以为您的df添加别名。 –