【发布时间】:2015-03-14 09:13:28
【问题描述】:
我的问题在单节点环境中回答起来相当简单,但我不知道如何在分布式 Spark 环境中做同样的事情。我现在拥有的是一个“频率图”,其中对于每个项目我都有它出现的次数。例如,它可能是这样的:(1, 2), (2, 3), (3,1),表示 1 发生了 2 次、2 3 次等等。
我想得到的是每个项目的累积频率,所以我需要从上面的实例数据中得到的结果是:(1, 2), (2, 3+2=5), (3, 1+3+2=6)。
到目前为止,我已经尝试通过使用mapPartitions 来做到这一点,如果只有一个分区,它会给出正确的结果......否则显然不会。
我该怎么做?
谢谢。 马可
【问题讨论】:
-
嗨,每个元组中的第一个位置是“唯一 id”吗?我的意思是,可以在 rdd 中再次找到 (1,2) 和其他位置:(1,) ?
-
它可以被认为是一个唯一的id,因为RDD是在这一步之前聚合在那个值上的......
标签: apache-spark cumulative-frequency