例如:在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
没问题,我现在正在处理您的问题,一旦找到解决方案,我会尽快回复您。 –