1
我想使用列名称数组作为输入来聚合Spark数据框,并同时保留列的原始名称。使用列名称数组聚合Spark数据框,保留名称
df.groupBy($"id").sum(colNames:_*)
这个工程,但未能保留名称。通过回答启发发现here我unsucessfully尝试这样做:
df.groupBy($"id").agg(sum(colNames:_*).alias(colNames:_*))
error: no `: _*' annotation allowed here
它可以采取像
df.groupBy($"id").agg(sum(colNames(2)).alias(colNames(2)))
单个元素如何才能做到这一点整个阵列?
是的,我猜会是这样的。但是,仍然无法实现它的工作。错误:没有':_ *'注释允许在这里 (这样的注释只允许在*参数的参数中) – johnblund
对不起,它应该是agg和sum。 – zero323
是的,我也发现colNames实际上应该是exprs,对吧? – johnblund