所以我基本上这样做了
// data type
type FeatureTuple = ((String, String), Double)
featureTuple.flatMap(_._1._2)
但是它返回了RDD [Char]而不是RDD [String],为什么会这样呢?
答案 0 :(得分:5)
flatMap
导致String
被隐式转换为WrappedString
TraversableOnce[Char]
(因为flatMap
RDD
方法期望T => TraversableOnce[U]
类型的参数和String
可以转换为TraversableOnce[Char]
),因此最终会得到RDD[Char]
而不是{{1} }}。如果该隐式转换不存在(它在RDD[String]
中定义),那么您只会遇到编译错误。
无论如何,要解决此问题,请使用scala.Predef
代替map
。