我有两个类型为org.apache.spark.streaming.dstream.DStream[Int]的键值对。
第一个键值对是(word,frequency)。第二个键值对是(行数,值)
我想用频率除以每个单词的值in。但是,我得到了小于误差的值value/不是org.apache.spark.stream .dstream. dstream [Int]
示例代码:
f是单词出现的频率,c是总次数RDD有单词和频率
val cp = rdd.foreachRDD {
x => (x, f/c)
}
首先在DStream对象上应用映射转换然后在其中您将获得RDD现在您在RDD对象上应用映射转换,如下所示
dStream.map{rdd=>
rdd.map(x=>(x,f/c))
}
如果f是DStream的对象,那么在RDD或DStream闭包中使用它之前先收集它。