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

时间:2016-02-25 03:43:21

标签: scala apache-spark

所以我基本上这样做了

// data type

  type FeatureTuple = ((String, String), Double)


featureTuple.flatMap(_._1._2)

但是它返回了RDD [Char]而不是RDD [String],为什么会这样呢?

1 个答案:

答案 0 :(得分:5)

flatMap导致String被隐式转换为WrappedString TraversableOnce[Char](因为flatMap RDD方法期望T => TraversableOnce[U]类型的参数和String可以转换为TraversableOnce[Char]),因此最终会得到RDD[Char]而不是{{1} }}。如果该隐式转换不存在(它在RDD[String]中定义),那么您只会遇到编译错误。

无论如何,要解决此问题,请使用scala.Predef代替map