例如:在spark中,如果我想連接兩對,並且對值爲DenseMatrix,我該怎麼辦?
Input: RDD[arraySeq((arraySeq(1),DenseMatrix(2,3)), (arraySeq(2),DenseMatrix(5,7)), (arraySeq(4),DenseMatrix(7,8)), ((arraySeq(1),DenseMatrix(10,23)))]
Output: RDD[(double(1), Vector(2,3,10,23)), (double(2), Vector(5,7)), (double(4), Vector(7,8))]
我已經搜索「combineByKey,reduceByKey」,他們似乎能夠在這個問題上的工作,但我不知道怎麼寫的代碼。
此外,如果輸入的是:
arraySeq((arraySeq(1),DenseMatrix(2,3)), (arraySeq(2),DenseMatrix(5,7)), (arraySeq(4),DenseMatrix(7,8)), ((arraySeq(1),DenseMatrix(10,23)))
,
這意味着輸入不是RDD,如果我想要得到的輸出中我應該怎麼辦:
(double(1), DenseVector(2,3,10,23)), (double(2), DenseVector(5,7)), (double(4), DenseVector(7,8))
,和輸出也不是RDD。
請讓我知道,如果你正在尋找比答案我張貼一些其他的答案。 –
嗨,非常抱歉我的不清楚的類型定義,我改變了我的問題,輸入和輸出的類型是規定的,所以也許你的答案不適合,你能幫我解決新的問題嗎? – miaoiao
沒問題,我現在正在處理您的問題,一旦找到解決方案,我會盡快回復您。 –