¿Cómo agruparByKey un RDD, con DenseVector como clave, en Spark?
He creado un RDD con cada miembro como un par de valores clave con la clave como unDenseVector
y valorar ser unint
. p.ej.
[(DenseVector([3,4]),10), (DenseVector([3,4]),20)]
Ahora quiero agrupar por la clavek1
: DenseVector([3,4])
. Espero que el comportamiento agrupe todos los valores de la clavek1
cuales son10
y20
. Pero el resultado que obtengo es
[(DenseVector([3,4]), 10), (DenseVector([3,4]), 20)]
en lugar de
[(DenseVector([3,4]), [10,20])]
Por favor, avíseme si me falta algo.
El código para el mismo es:
#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())