adr*_*ian 2 scala apache-spark
所以我基本上都是这样做的
// data type
type FeatureTuple = ((String, String), Double)
featureTuple.flatMap(_._1._2)
Run Code Online (Sandbox Code Playgroud)
但它返回RDD [Char]而不是RDD [String],为什么会发生这种情况?
的flatMap原因造成的String隐式转换到一个WrappedString其是TraversableOnce[Char](因为flatMap方法RDD期待类型的参数T => TraversableOnce[U]和String可以转化成一个TraversableOnce[Char]),所以你将结束与一个RDD[Char],而不是一个RDD[String].如果那个隐式转换不存在(它被定义scala.Predef),那么你只会得到一个编译错误.
无论如何,修复这个只是使用map而不是flatMap.