为什么我得到的是 Set[Char] 而不是 Set[String]?
Why am i getting Set[Char] instead of Set[String]?
我正在尝试从文本输入创建一个键值对,其中键是字符串,值是 Set[String]
。但我想我得到了Set[Char]
。
我的代码是:
val newRdd = textFile.map(x => (x.split("\t")(1), x.split("\t")(2).toSet)).reduceByKey(_++_)
我想要的是这样的对:
(title1, Set(m1))
但我得到:
(title1, Set(m,1))
输入是这样的:
1 title1 m1
有谁知道为什么会这样?
因为String
本质上是Seq[Char]
和toSet
is:
def toSet[B >: Char]: Set[B]
您可能想要:
map(x => (x.split("\t")(1), Set(x.split("\t")(2)))
我正在尝试从文本输入创建一个键值对,其中键是字符串,值是 Set[String]
。但我想我得到了Set[Char]
。
我的代码是:
val newRdd = textFile.map(x => (x.split("\t")(1), x.split("\t")(2).toSet)).reduceByKey(_++_)
我想要的是这样的对:
(title1, Set(m1))
但我得到:
(title1, Set(m,1))
输入是这样的:
1 title1 m1
有谁知道为什么会这样?
因为String
本质上是Seq[Char]
和toSet
is:
def toSet[B >: Char]: Set[B]
您可能想要:
map(x => (x.split("\t")(1), Set(x.split("\t")(2)))