繁体   English   中英

在python Spark中组合2个RDD

[英]Combining 2 RDDs in python Spark

我有2个RDD。 假设rdd1 = {'a','b','c','a','c','a'}并且rdd2是KMeans的输出,其簇分配如下-> rdd2 = {0,0,1 ,1,1,0}。 我想最终找出簇0和1中有多少个a和b。例如0具有2个a,所以类似{0,a,2}等。有没有办法我将这两个RDDS结合起来做这样一个操作?

谢谢你的帮助。

下面的作品。 使用tupleslist而不是在适当的地方set

rdd1 = sc.parallelize(['a','b','c', 'a', 'c', 'a'])
rdd2 = sc.parallelize([0, 0, 1, 1, 1, 0])
rdd = rdd1.zip(rdd2).map(lambda x: (x,1)).reduceByKey(lambda x,y: x+y).map(lambda ((x1,x2),y): (x1,x2,y))
rdd.collect()

输出:

[('a', 0, 2), ('b', 0, 1), ('c', 1, 2), ('a', 1, 1)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM