在火花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添加別名。 –