gpt4 book ai didi

scala - 是否可以在 spark sql 中以编程方式对列进行别名?

转载 作者:行者123 更新时间:2023-12-03 12:01:54 24 4
gpt4 key购买 nike

在 spark SQL(也许只有 HiveQL)中可以做到:

select sex, avg(age) as avg_age
from humans
group by sex

这将导致 DataFrame列名为 "sex""avg_age" .

怎么可以 avg(age)别名为 "avg_age"不使用文本 SQL?

编辑:
在 zero323 的回答之后,我需要添加以下约束:

要重命名的列的名称可能未知/无法保证,甚至无法寻址。在文本 SQL 中,使用“select EXPR as NAME”消除了对 EXPR 具有中间名称的要求。在上面的示例中也是这种情况,其中“avg(age)”可以获得各种自动生成的名称(在 spark 版本和 sql-context 后端之间也有所不同)。

最佳答案

假设 human_df是人类的数据帧。从 Spark 1.3 开始:

human_df.groupBy("sex").agg(avg("age").alias("avg_age"))

关于scala - 是否可以在 spark sql 中以编程方式对列进行别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com