Apache Spark:RDD [Char]但应该是RDD [String]作为flatmap的结果

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],为什么会发生这种情况?

Jas*_*man 5

flatMap原因造成的String隐式转换到一个WrappedString其是TraversableOnce[Char](因为flatMap方法RDD期待类型的参数T => TraversableOnce[U]String可以转化成一个TraversableOnce[Char]),所以你将结束与一个RDD[Char],而不是一个RDD[String].如果那个隐式转换不存在(它被定义scala.Predef),那么你只会得到一个编译错误.

无论如何,修复这个只是使用map而不是flatMap.