0

我的 RDD 具有以下结构-

Key| Val1   |Val2  |
314 | 850   |10468.714
315 | 850   |20468.714
316 | 873   |14630.532
317 | 676   |21450.78
318 | 475   |23247.512
319 | 850   |10468.714
320 | 850   |10468.714
321 | 850   |20468.714
322 | 873   |14630.532
323 | 676   |21450.78
324 | 475   |23247.512

我用一些偏移值运行两个过滤器操作 -

过滤器 Op1:

偏移量 = 0,时间范围从 320 到 324

过滤所有值从 (320-0) 到 (324-0) 的键

过滤RDD1:

Key| Val1   |Val2  |
320 | 850   |10468.714
321 | 850   |20468.714
322 | 873   |14630.532
323 | 676   |21450.78
324 | 475   |23247.512

过滤器 Op2:

偏移量 = 6,时间范围从 320 到 324

所有值从 (320-6):314 到 (324-6):318 的键都被过滤

过滤RDD2:

Key| Val1   |Val2  |
314 | 850   |10468.714
315 | 850   |20468.714
316 | 873   |14630.532
317 | 676   |21450.78
318 | 475   |23247.512

行动

我想将FilteredRDD1 中的 Val1 与 FilteredRDD2 中的 Val2相乘。

我可以想到一个选项,其中 -

  1. 使用偏移量修改FilteredRDD2的key,使两个FilteredRDD的key相同

  2. 对未修改的 FilteredRDD 和修改后的 FilteredRDD 进行连接

  3. 对连接的 RDD 执行 map 操作,并将 Val1 与 Val2 相乘

任何其他更好的选择,以便更少的洗牌和更少的中间操作。

蒂亚!

4

0 回答 0