【发布时间】:2020-08-29 05:25:46
【问题描述】:
我有一个包含 300 列的 spark 数据框,每列有 10 个不同的值。我需要计算所有 300 列的不同值的出现次数。
--------------------------------------------------------
col1 | col2 | col3 ............col299 | col 300
-------------------------------------------------------
value11 | value21 | value31 | value300 | value 301
value12 | value22 | value32 | value300 | value 301
value11 | value22 | value33 | value301 | value 302
value12 | value21 | value33 | value301 | value 302
如果我使用下面的代码计算单列
import org.apache.spark.sql.functions.count
df.groupBy("col1").agg(count("col1")).show
但是如何有效地计算 300 列。请帮忙!
【问题讨论】:
-
如果您可以接受近似的不同计数,请考虑使用高效的
approx_count_distinct
标签: apache-spark apache-spark-sql