我正在为多个计数器编写一个streaming
故障检测应用程序,输入为:RDD(Int, BreezeDenseMatrix[Double])
。
对于每个RDD
,我要进行一些计算,并将RDD
写入textfile
中的hdfs
中,以将其与下一个新的RDD
进行比较
我想做的是当新的RDD
到来时,阅读textfile
并进行比较。
问题是,当我读取textfile
时,我不知道workers
怎么能拥有与新数据和旧数据相同的id
以便进行比较
例如
Counters = 5
Workers=2
如果新数据按以下方式分区:
NewRDD
Worker_1 Worker_2
------------------|--------------------
(1, BreezeMatr[]) | (3, BreezeMatr[])
(2, BreezeMatr[]) | (5, BreezeMatr[])
(4, BreezeMatr[]) |
---------------------------------------
我希望对旧数据进行分区:
`RDD_from_textfile`
Worker_1 Worker_2
----------------------|----------------------
(1, Old_BreezeMatr[]) | (3, Old_BreezeMatr[])
(2, Old_BreezeMatr[]) | (5, Old_BreezeMatr[])
(4, Old_BreezeMatr[]) |
---------------------------------------------
有什么想法可以解决吗?