【发布时间】:2018-08-09 21:31:10
【问题描述】:
看起来应该可以,但我遇到了错误:
mu = mean(df[input])
sigma = stddev(df[input])
dft = df.withColumn(output, (df[input]-mu)/sigma)
pyspark.sql.utils.AnalysisException: "grouping expressions sequence is empty, and '`user`' is not an aggregate function. Wrap '(((CAST(`sum(response)` AS DOUBLE) - avg(`sum(response)`)) / stddev_samp(CAST(`sum(response)` AS DOUBLE))) AS `scaled`)' in windowing function(s) or wrap '`user`' in first() (or first_value) if you don't care which value you get.;;\nAggregate [user#0, sum(response)#26L, ((cast(sum(response)#26L as double) - avg(sum(response)#26L)) / stddev_samp(cast(sum(response)#26L as double))) AS scaled#46]\n+- AnalysisBarrier\n +- Aggregate [user#0], [user#0, sum(cast(response#3 as bigint)) AS sum(response)#26L]\n +- Filter item_id#1 IN (129,130,131,132,133,134,135,136,137,138)\n +- Relation[user#0,item_id#1,response_value#2,response#3,trait#4,response_timestamp#5] csv\n"
我不确定这条错误消息是怎么回事。
【问题讨论】:
-
这只适用于向量。