【发布时间】:2015-07-16 08:43:55
【问题描述】:
我创建了一个 RDD,每个成员都是一个键值对,键是 DenseVector,值是 int。例如
[(DenseVector([3,4]),10), (DenseVector([3,4]),20)]
现在我想通过键 k1: DenseVector([3,4]) 进行分组。我希望该行为将键k1 的所有值分组,即10 和20。但我得到的结果是
[(DenseVector([3,4]), 10), (DenseVector([3,4]), 20)]
而不是
[(DenseVector([3,4]), [10,20])]
如果我遗漏了什么,请告诉我。
相同的代码是:
#simplified version of code
#rdd1 is an rdd containing [(DenseVector([3,4]),10), (DenseVector([3,4]),20)]
rdd1.groupByKey().map(lambda x : (x[0], list(x[1])))
print(rdd1.collect())
【问题讨论】:
-
你在做什么代码?描述你做了什么你得到了结果,这似乎很奇怪!
-
我刚刚添加了代码。
-
你的做法是对的!我认为可能有问题
标签: python apache-spark pyspark apache-spark-mllib