2016-01-07 89 views
2

我有一个RDD[(String, (Iterable[Int], Iterable[Coordinate]))] 我想什么做的,就是要打破Iterable[Int]到元组,每一个会像(String,Int,Iterable[Coordinate])歇元组RDD到两个元

举一个例子,我想变换:

('a',<1,2,3>,<(45.34,32.33),(45.36,32.34)>) 
('b',<1>,<(46.64,32.66),(46.67,32.71)>) 

('a',1,<(45.34,32.33),(45.36,32.34)>) 
('a',2,<(45.34,32.33),(45.36,32.34)>) 
('a',3,<(45.34,32.33),(45.36,32.34)>) 
('b',1,<(46.64,32.66),(46.67,32.71)>) 

如何做是Scala呢?

回答

5

尝试使用flatMap:

rdd.flatMap {case (v, i1, i2) => i1.map(i=>(v, i, i2)} 
+0

非常感谢!这个对我有用 – Yoav