我可以按工作人员已经存在的ID进行分区吗?

时间:2018-08-20 14:42:36

标签: scala apache-spark spark-streaming partitioning

我正在为多个计数器编写一个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[]) | 
---------------------------------------------

有什么想法可以解决吗?

0 个答案:

没有答案