RDD API Python 如何进行计数

问题描述

我有一个包含以下元素的文件

1,1_id,lucas,10

2,2_is,pierre,30

2,3_id,20

我想要这样的结果:

[(lucas,30),(pierre,30)]

我只需要使用 RDD 方式。

你有什么想法吗?

非常感谢

解决方法

这很容易。

# get last two elements
def f(s):
    s_list = s.split(',')
    return (s_list[2],int(s_list[3]))

r = sc.textFile('YOUR_FILE').\
        map(lambda line:f(line)).\
        reduceByKey(lambda x,y: x + y)