按组从聚合函数创建新列
Create new column from agg function by group
我用下面的代码将一个大数据集汇总成聚合级别,这样我就可以画图了。
a = b.groupBy("year","month").agg(sum("dollar")/sum("value").alias("pct"))
但是调用a的列'pct时,出现如下错误:
Py4JJavaError: An error occurred while calling o16779.select.
: org.apache.spark.sql.AnalysisException: cannot resolve '`pct`' given input columns:
你知道如何在 agg 函数下创建新列 'pct' 以便我以后使用吗?
尝试将您的部门包含在 ()
中,然后执行 .alias()
a = b.groupBy("year","month").agg((sum("dollar")/sum("value")).alias("pct"))
#now you can select pct column from a
a.select("pct").show()
我用下面的代码将一个大数据集汇总成聚合级别,这样我就可以画图了。
a = b.groupBy("year","month").agg(sum("dollar")/sum("value").alias("pct"))
但是调用a的列'pct时,出现如下错误:
Py4JJavaError: An error occurred while calling o16779.select.
: org.apache.spark.sql.AnalysisException: cannot resolve '`pct`' given input columns:
你知道如何在 agg 函数下创建新列 'pct' 以便我以后使用吗?
尝试将您的部门包含在 ()
中,然后执行 .alias()
a = b.groupBy("year","month").agg((sum("dollar")/sum("value")).alias("pct"))
#now you can select pct column from a
a.select("pct").show()