在pyspark中过滤两个RDD
filtering two RDD in pyspark
我想在这里做简单的过滤,我的RDD是
rdd1 = [96,104,112]
rdd2 = [112, 30, 384, 96, 288, 352, 104, 368]
因此结果应该是包含 rdd2 中不在 rdd1 中的元素的 RDD
所以它看起来像,
rdd3 = [30,384,288,352,368]
我们应该如何做到这一点
我试过这个,
rdd3 = rdd1.map(lambda r: r != r in rdd2)
但这不起作用。如何解决这个问题,
提前致谢
您可以使用 subtract
method 其中:
Return each value in self that is not contained in other.
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]
我想在这里做简单的过滤,我的RDD是
rdd1 = [96,104,112]
rdd2 = [112, 30, 384, 96, 288, 352, 104, 368]
因此结果应该是包含 rdd2 中不在 rdd1 中的元素的 RDD
所以它看起来像,
rdd3 = [30,384,288,352,368]
我们应该如何做到这一点
我试过这个,
rdd3 = rdd1.map(lambda r: r != r in rdd2)
但这不起作用。如何解决这个问题,
提前致谢
您可以使用 subtract
method 其中:
Return each value in self that is not contained in other.
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]