python spark 通过key来统计不同values个数

Posted 将者,智、信、仁、勇、严也。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python spark 通过key来统计不同values个数相关的知识,希望对你有一定的参考价值。

>>> rdd = sc.parallelize([("a", "1"), ("b", 1), ("a", 1), ("a", 1)])
>>> rdd.distinct().countByKey().items()
[(a, 2), (b, 1)]

OR:

from operator import add


rdd.distinct().map(lambda x: (x[0], 1)).reduceByKey(add)
rdd.distinct().keys().map(lambda x: (x, 1)).reduceByKey(add)

distinct(numPartitions=None)

Return a new RDD containing the distinct elements in this RDD.

>>> sorted(sc.parallelize([1, 1, 2, 3]).distinct().collect())
[1, 2, 3]

 countByKey()

Count the number of elements for each key, and return the result to the master as a dictionary.

>>> rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
>>> sorted(rdd.countByKey().items())
[(‘a‘, 2), (‘b‘, 1)]


以上是关于python spark 通过key来统计不同values个数的主要内容,如果未能解决你的问题,请参考以下文章

spark1.统计句子中特定内容

Spark RDD:如何最有效地计算统计数据?

SPARK统计信息的来源-通过优化规则来分析

Spark Scala 统计 Map Key 中字符串数组的出现次数

spark ---词频统计

使用 Python 计算 Spark 中成对 (K,V) RDD 中每个 KEY 的平均值