为什么我得到Set [Char]而不是Set [String]?

时间:2018-04-25 20:20:31

标签: scala apache-spark key-value

我正在尝试从文本输入创建键值对,其中键将为String,值为https://github.com/capistrano/symfony/blob/master/lib/capistrano/dsl/symfony.rb。但我想我得到Set[String]。 我的代码是:

Set[Char]

我想要的是像:

  

(title1,Set(m1))

但我得到了:

  

(title1,Set(m,1))

输入是这样的:

val newRdd = textFile.map(x => (x.split("\t")(1), x.split("\t")(2).toSet)).reduceByKey(_++_)

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:2)

因为String基本上是Seq[Char]toSet is

def toSet[B >: Char]: Set[B] 

你可能想要:

map(x => (x.split("\t")(1), Set(x.split("\t")(2)))