列的频率分布

时间:2016-07-04 21:40:32

标签: scala spark-dataframe

给出一个像这样的列:

+----------+
| firstName|
+----------+
| bob      |
| jack     |
| bob      |
+----------+

我想以下列格式输出频率分布: bob - > 2 即可。我试图在Scala / Spark Data框架中创建UDF。最终目标是给定一个数据帧,我可以输出数据帧中每列的频率分布。

def freqDist(col: Column): Column = {
 //need help with this part
}

val freqDist = df.map(ct => freqDist(col(ct._1))).toList
//iterate through each column and compute the freqDist like so

新方法:

val freqDist = df.dtypes.map(ct => {df.select(ct._1).groupBy(col(ct._1)).count()})

这给了我每列的freqDist,但freqDist的类型现在是一个数据帧数组。如何将所有数据帧聚合为一个?

0 个答案:

没有答案