reduceByKey 不是成员
reduceByKey is not a member
您好,我有代码可以简单地从文档中获取字数。在生成输出之前,我还需要使用映射来查找数据值。这是代码。
requests
.filter(_.description.exists(_.length > 0))
.flatMap { case request =>
broadcastDataMap.value.get(request.requestId).map {
data =>
val text = Seq(
data.name,
data.taxonym,
data.pluralTaxonym,
request.description.get
).mkString(" ")
getWordCountsInDocument(text).map { case (word, count) =>
(word, Map(request.requestId -> count))
}
}
}
.reduceByKey(mergeMap)
错误信息是
reduceByKey is not a member of org.apache.spark.rdd.RDD[scala.collection.immutable.Map[String,scala.collection.immutable.Map[Int,Int]]]
我该如何解决这个问题?我确实需要调用 getWordCountsInDocument。谢谢!
reduceByKey 是 PairRDDFunctions 的成员,基本上它以 RDD[(K, V)]
的形式隐式添加到 RDD。您可能需要将结构展平为 RDD[String, Map[Int,Int]]
。
如果您可以提供输入的类型(requests
、broadcastDataMap
和 mergeMap
),我们或许可以为该转换提供一些帮助。
根据提供的类型,假设 getWordCountsInDocument 的 return 类型是某个 Collection[(word, count: Int)]
变化中:
broadcastDataMap.value.get(request.requestId).map {
到
broadcastDataMap.value.get(request.requestId).flatMap {
应该可以解决这个问题。
您好,我有代码可以简单地从文档中获取字数。在生成输出之前,我还需要使用映射来查找数据值。这是代码。
requests
.filter(_.description.exists(_.length > 0))
.flatMap { case request =>
broadcastDataMap.value.get(request.requestId).map {
data =>
val text = Seq(
data.name,
data.taxonym,
data.pluralTaxonym,
request.description.get
).mkString(" ")
getWordCountsInDocument(text).map { case (word, count) =>
(word, Map(request.requestId -> count))
}
}
}
.reduceByKey(mergeMap)
错误信息是
reduceByKey is not a member of org.apache.spark.rdd.RDD[scala.collection.immutable.Map[String,scala.collection.immutable.Map[Int,Int]]]
我该如何解决这个问题?我确实需要调用 getWordCountsInDocument。谢谢!
reduceByKey 是 PairRDDFunctions 的成员,基本上它以 RDD[(K, V)]
的形式隐式添加到 RDD。您可能需要将结构展平为 RDD[String, Map[Int,Int]]
。
如果您可以提供输入的类型(requests
、broadcastDataMap
和 mergeMap
),我们或许可以为该转换提供一些帮助。
根据提供的类型,假设 getWordCountsInDocument 的 return 类型是某个 Collection[(word, count: Int)]
变化中:
broadcastDataMap.value.get(request.requestId).map {
到
broadcastDataMap.value.get(request.requestId).flatMap {
应该可以解决这个问题。