我有2个RDD,每个都从不同类型的日志文件中读取,这些日志文件有一些共同的数据.因此,我们有类型为EventA的RDD和类型为EventB的RDD,其中类EventA和EventB继承自Event.
获取具有与EventA类型的RDD不同的事件的EventB类型的RDD的最佳方法是什么?
从逻辑上讲,如果我在"集合论"中提出问题,我对集合的补充感兴趣:RDD [EventB]∖RDD [EventA].我打算使用Event中定义的equals方法来推断哪些事件是相同的.
aar*_*man 14
我想你想要subtract或者重要数据是否在密钥中subtractByKey.
基本用法:
rdd.subtractByKey(otherRdd)
当第一个RDD较小时,此操作更有效,因为第一个RDD可以保留在内存中,而第二个RDD可以流式传输.从你的问题,如果你想要的一切,目前还不清楚A that isn't in B或everything that isn't in the intersection of A and B.所以第二种方法的解决方案是将两个减法的结果结合起来:
val newRdd = rdd.subtractByKey(otherRdd).union(otherRdd.subtractByKey(rdd))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7114 次 |
| 最近记录: |