Spark:在所有列上使用聚合函数

时间:2018-03-23 10:45:50

标签: apache-spark pyspark aggregate

基本上,我想要执行以下操作,但没有for循环:

from pyspark.sql import functions as F

for myCol in df.schema.names:
    uniqs[myCol] = df.groupby("colX").agg(F.countDistinct(myCol)).collect()

我试过

uniqs = df.groupby("colX").agg(F.countDistinct(*df.schema.names)).collect()

但这确实有别的。我想避免for循环的原因是这样,groupby操作完成了n次而不是只进行了一次,产生了很大的开销......

我在Spark 1.6.2上。

0 个答案:

没有答案