Groovy 两个RDD之间的差异

Groovy 两个RDD之间的差异,groovy,apache-spark,Groovy,Apache Spark,假设我有这个示例作业(在Groovy w/Java API中): def set1=[] def set2=[] 0.最多(10){set1如果您只想要一个集合减法,那么它就是一个答案。如果您想要“外部”集合,请尝试: rdd1.subtract(rdd2).union(rdd2.subtract(rdd1)) 我假设你在找这样的东西: rdd1 = A, B rdd2 = B, C 您要查找的结果是A,C 一个简单的方法是: rdd1.union(rdd2).subtract(rdd1.i

假设我有这个示例作业(在Groovy w/Java API中):

def set1=[]
def set2=[]

0.最多(10){set1如果您只想要一个集合减法,那么它就是一个答案。如果您想要“外部”集合,请尝试:

rdd1.subtract(rdd2).union(rdd2.subtract(rdd1))

我假设你在找这样的东西:

rdd1 = A, B
rdd2 = B, C
您要查找的结果是
A,C

一个简单的方法是:

rdd1.union(rdd2).subtract(rdd1.intersection(rdd2))

这将导致一个空集合…,不是吗?你是对的-我的意思是交叉点而不是联合,请参见编辑:)
rdd1.union(rdd2).subtract(rdd1.intersection(rdd2))