在pyspark过滤两个RDD

Den*_*rge 1 apache-spark rdd pyspark

我想在这里做简单过滤我的RDD

rdd1 = [96,104,112]

rdd2 = [112, 30, 384, 96, 288, 352, 104, 368]
Run Code Online (Sandbox Code Playgroud)

所以结果应该是包含rdd2中不在rdd1中的元素的RDD

所以看起来像,

rdd3 = [30,384,288,352,368]
Run Code Online (Sandbox Code Playgroud)

我们该如何实现这一目标

我试过这个,

 rdd3 = rdd1.map(lambda r: r != r in rdd2)
Run Code Online (Sandbox Code Playgroud)

但这不起作用.怎么解决这个,

提前致谢

zer*_*323 5

您可以使用以下subtract方法:

返回self中未包含在其他值中的每个值.

rdd1 = sc.parallelize([96,104,112])
rdd2 = sc.parallelize([112, 30, 384, 96, 288, 352, 104, 368])

rdd2.subtract(rdd1).collect()
## [384, 352, 368, 288, 30]
Run Code Online (Sandbox Code Playgroud)