当前位置:  开发笔记 > 编程语言 > 正文

无论密钥如何,Spark总结值

如何解决《无论密钥如何,Spark总结值》经验,为你挑选了1个好方法。

我的元组列表如下所示:

Tup = [(u'X45', 2), (u'W80', 1), (u'F03', 2), (u'X61', 2)]

我想在所有值上加总,在这种情况下, 2+1+2+2=7

Tup.reduceByKey()如果键是相同的,我可以在spark 中使用.但是,无论密钥如何,我可以在spark中使用哪个函数来汇总所有值?

我试过了,Tup.sum()但它给了我(u'X45', 2, u'W80', 1, u'F03', 2, u'X61', 2)

BTW由于大型数据集,我想在RDD概括起来讲,所以我不使用Tup.collect()sum它出星火的.



1> Knows Not Mu..:

这很简单.

从概念上讲,您应首先映射原始RDD并提取第二个值.然后总结那些

在斯卡拉

val x = List(("X45", 2), ("W80", 1), ("F03", 2), ("X61", 2))
val rdd = sc.parallelize(x)
rdd.map(_._2).sum()

在Python中

x = [(u'X45', 2), (u'W80', 1), (u'F03', 2), (u'X61', 2)]
rdd = sc.parallelize(x)
y = rdd.map(lambda x : x[1]).sum()

在这两种情况下,打印7的总和.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有