2016-08-16 26 views
0

我有一个Spark RDD,如下所示。Apache Spark转换 - 分割线并创建它的组合

abc,def,ghi 

sdfdf,sdfsdf,dfdf444sdsdd 

我想通过用逗号(,)分割每个记录(行)来创建2个分散值的所有不同组合。

输出RDD(例如)低于

abc def 

abc ghi 

def ghi 
+0

下面我试过,但它不工作。 –

+0

VAL Y = testA.map(X => { 变种ABD = x.split( “”) 如果(abd.length> 1) { 为(N < - 0到(abd.length - 1)) { 为(G < - N + 1直到abd.length) { (ABD(0)+ ABD(0)) } } } 别的 { “ “ } } ) –

回答

1

flatMap必须用于组合部分。使用类似以下内容:

rdd.map(_.split(",")).flatMap(tokens => getCombinations(tokens)) 

...其中getCombinations有签名:

def getCombinations(tokens: List[String]): List[(String, String)]