问题描述
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)