我的 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相乘。
我可以想到一个选项,其中 -
使用偏移量修改FilteredRDD2的key,使两个FilteredRDD的key相同
对未修改的 FilteredRDD 和修改后的 FilteredRDD 进行连接
对连接的 RDD 执行 map 操作,并将 Val1 与 Val2 相乘
任何其他更好的选择,以便更少的洗牌和更少的中间操作。
蒂亚!