Como agrupar um RDD, com DenseVector como chave, no Spark?
Eu criei um RDD com cada membro sendo um par de valor-chave e a chave sendo umDenseVector
e valor sendo umint
. por exemplo.
[(DenseVector([3,4]),10), (DenseVector([3,4]),20)]
Agora eu quero agrupar pela chavek1
: DenseVector([3,4])
. Espero que o comportamento agrupe todos os valores da chavek1
que são10
e20
. Mas o resultado que recebo é
[(DenseVector([3,4]), 10), (DenseVector([3,4]), 20)]
ao invés de
[(DenseVector([3,4]), [10,20])]
Informe-me se estiver faltando alguma coisa.
O código para o mesmo é:
#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())