spark groupByKey().mapValues

>>> rdd = sc.parallelize([("bone", 231), ("bone", 21213), ("jack",1)])

>>> rdd.groupByKey().map(lambda x: sum(x[1])).collect()
[1, 21444]
>>> rdd.groupByKey().map(lambda x: (x[0],sum(x[1]))).collect()
[('jack', 1), ('bone', 21444)]
>>> rdd.groupByKey().map(lambda x: (x[0],sum(x[1].data))).collect()
[('jack', 1), ('bone', 21444)]


>>> rdd.groupByKey().mapValues(lambda x: sum(x)).collect()
[('jack', 1), ('bone', 21444)]
>>> rdd.groupByKey().mapValues(lambda x: sum(x.data)).collect()
[('jack', 1), ('bone', 21444)]


posted @ 2018-03-20 16:34  bonelee  阅读(877)  评论(0编辑  收藏  举报