避免RDD嵌套在不带Array的Spark中

时间:2015-06-14 19:04:33

标签: scala apache-spark rdd

我有一个大问题!

我有一个RDD[(Int, Vector)],其中Int是一种标签。

例如:

(0, (a,b,c) );
(0, (d,e,f) );
(1, (g,h,i) )

等...

现在,我需要使用这个RDD(我称之为myrdd):

myrdd.map{  case(l,v) => 
   myrdd.map { case(l_, v_) => 
      compare(v, v_)
   }
}

现在,我知道在使用RDD嵌套时,火花是不可能的。

我可以使用数组绕过这个问题。但是对于我的问题,我不能使用数组,或任何内存中的东西。

如何在不使用ARRAY的情况下解决问题?

提前致谢!!!

1 个答案:

答案 0 :(得分:2)

myrdd.cartesian(myrdd).map{ case ((_,v),(_,v_)) => compare(v,v_) } 听起来应该有效:

{{1}}