Как сгруппироватьByKey RDD, с ключом DenseVector, в Spark?
Я создал СДР, в которой каждый элемент является парой ключ-значение, а ключ -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())