scala - Apache Spark : RDD[Char] but should be RDD[String] as result of flatmap

标签 scala apache-spark

所以我基本上就是这样做的

// data type

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


featureTuple.flatMap(_._1._2)

但是它返回的是 RDD[Char] 而不是 RDD[String],为什么会发生这种情况?

最佳答案

flatMap 导致 String 隐式转换为 WrappedString,它是 TraversableOnce[Char] > (因为 RDDflatMap 方法需要一个 T => TraversableOnce[U] 类型的参数和一个 String code> 可以转换为 TraversableOnce[Char]),因此您最终会得到 RDD[Char] 而不是 RDD[String]。如果该隐式转换不存在(它在 scala.Predef 中定义),那么您只会收到编译错误。

无论如何,要解决此问题,只需使用 map 而不是 flatMap

关于scala - Apache Spark : RDD[Char] but should be RDD[String] as result of flatmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35617829/

相关文章:

scala - 如何使用 Scala 使用 Hadoop 客户端在 HDFS 中 append 文本文件?

apache-spark - 巨型Elasticsearch查询

scala - 想法 sbt java.lang.NoClassDefFoundError : org/apache/spark/SparkConf

hadoop - Spark 需要 2 秒才能数到 10 ...?

java - 在 pyspark 上运行 sql 查询时出现 MetaException(message :java. lang.IllegalArgumentException : java.net.UnknownHostException)

scala - 在 Monad 上实现 `sequence`

eclipse - 无法禁用 Spark eclipse scala 日志

java - 京都柜和Scala(Java) : Limit of DB files open?

scala - Scala 中的儒略日期到公历日期转换

apache-spark - 如何在Spark SQL中进行左外部联接?