0

我有两个 org.apache.spark.streaming.dstream.DStream[Int] 类型的键值对。

第一个键值对是(单词,频率)。第二个键值对是(行数,值)。

我想将频率除以每个单词的值。但是,我低于错误 值/不是 org.apache.spark.streaming.dstream.DStream[Int] 的成员

示例代码:

f 是单词的频率,c 是 rdd 有单词和频率的总数

val cp = rdd.foreachRDD {
  x => (x, f/c)
}
4

1 回答 1

0

首先在 DStream 对象上应用地图转换,然后在里面你将得到 RDD 现在你在 RDD 对象上应用地图转换如下

dStream.map{rdd=>
 rdd.map(x=>(x,f/c))
}

如果 f 是 DStream 的对象,则在 RDD 或 DStream 闭包中使用之前先收集它。

于 2016-10-24T10:39:43.360 回答